1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Next.js + サーバーサイドTypeScript + 関数フレーバーでクリーンなアプリを作ったので実装意図とか書く Advent Calendar 2022
17日目株式会社mofmofに生息しているshwldです。

前日はNext.js/React + GraphQLのコンポーネント整頓術について書きました

NextAuth.jsとAuth0を使って認証をパッと作る

今回のアプリでは、まだパッと作るところまでしかできてません。
動くところまでは作りましたが、細かい設定できていない気がするのと、iOSやAndroidアプリをフロントエンドにしてGraphQLサーバーだけ使いたい場合どうなるなど気になる項目が残っていたりします。

NextAuth.jsについて

NextAuth.jsはNext.jsに認証機能を簡単に加えることができるライブラリです。
今回、PivotalTrackerのクローンを作ったので、認証が必要なページが殆どで、SPAにしてクライアントサイドだけで認証しても良かったです。

ただ、クライアントだけで認証するとどうしても画面を描画してから認証処理が走り、結果を処理してリダイレクトするなど、コードが複雑になるし、体験も良くない。
できればレンダリング時には認証しているかどうか知っている状態を作りたい。

NextAuth.jsはそこを解決できそうなのと、導入も軽そうだったので今回はじめて採用しました。

Auth0について

Auth0はアプリケーションに簡単に組み込める認証基盤を提供してくれるサービスです。
認証周りを自分で書くのは、セキュリティと時間的コストを理由にほとんどやらないです。

Auth0はよく使っているサービスでも利用実績があったり、安心して使える基盤だと思います。

Auth0Firebase Authで迷ったのですが、NextAuth.jsとの相性でAuth0に決めました。(Firebase Authを使う場合NextAuthにProviderがないので自分で連携する必要がある)

使い方

使い方は探せばいくらでもありそうなのでここでは取り扱いません。
ソースコードは公開しているので、そちらをご参照いただければ!

次回予告

明日はChakraUIとRHFとzodについて書きます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?