お問い合わせ・ご相談についてはこちら

Next.js 13 middleware内でfirebase-admin SDKは使えない。

プログラミング
この記事は約2分で読めます。

こんにちは。
今回はmiddlewareを使って、
ユーザーログイン後のトークン認証をmiddleware内で実装しようとしたが、
エラーがでたことについて話していきます。

なお、
本記事は、
「Next.js 13でfirebaseを使ったログインと認証を実装する」記事
の一部になります。

追記:

起きた問題:Next.js 13 でfirebase-admin SDKを使うとエラーが出る

エラー内容は、

Server Error

Error: The edge runtime does not support Node.js ‘os’ module. Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime

です。

Next.js 13のmiddlewareでは、
firebase-admin モジュールはサーバーサイドでのみ使用することを意図しているため、
エッジランタイムで実行しようとするとこのエラーが発生します。

つまり、
middlewareはサーバーサイドでもクライアントサイドでもない為、
サーバーサイド用のモジュールである
firebase-admin SDK
は使えないと言われます。

考えられる解決策

middlewareでapiを呼び出して、
サーバーサイドで認証を行ってもらう。

まだ、未実装で、
これから記事にしたらここにリンクを張ります。

コメント

タイトルとURLをコピーしました