こんにちは。
今回は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を呼び出して、
サーバーサイドで認証を行ってもらう。
まだ、未実装で、
これから記事にしたらここにリンクを張ります。
コメント