AI を使用して Auth0 を統合する
AI を使用して Auth0 を統合する
Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:次に、AI アシスタントに次のように依頼します。AI アシスタントは、Auth0 アプリケーションの作成、認証情報の取得、
@auth0/auth0-fastify のインストール、プラグインの設定、必要なルートとビューの作成を自動的に行います。agent skills の完全なドキュメント →はじめに
Auth0 Fastify SDK をインストールする
必要な依存関係をインストールする
サーバーサイドレンダリングには、
ejs と @fastify/view を使用しています。Fastify でサポートされている任意のテンプレートエンジンを使用できます。package.json を更新して、start スクリプトを追加します。package.json
Auth0アプリを設定する
次に、Auth0テナントに新しいアプリケーションを作成し、プロジェクトに環境変数を追加します。Auth0アプリの設定方法は 3 つあります。Quick Setup ツール (推奨) を使う方法、CLI コマンドを実行する方法、または Dashboard で手動設定する方法です。
- Quick Setup(推奨)
- CLI
- Dashboard
Auth0アプリを作成し、正しい設定値があらかじめ入力された
.env ファイルをコピーします。Auth0プラグインを設定する
Fastify サーバーを作成し、Auth0 プラグインを登録します。このコードで行われること:
server.js
- HTML テンプレートをレンダリングするためのビューエンジンを登録します
- 認証情報を使用して Auth0 プラグインを設定します
/auth/login、/auth/logout、/auth/callbackにルートを自動作成します- 暗号化された Cookie を使用してセッションを管理します
ビュー テンプレートを作成
views ディレクトリを作成し、テンプレートファイルを追加します:Mac/Linux
Windows
views/home.ejs
views/profile.ejs
ルートを作成
server.js ファイルにルートを追加します:server.js
- ホームルートでは認証状態を確認し、その結果をテンプレートに渡します
- プロファイルルートでは、ルートを保護するために
preHandlerを使用します getSession()はユーザーのセッションを返し、認証されていない場合は null を返しますgetUser()は認証済みユーザーのプロフィール情報を返します
アプリを起動する
開発サーバーを起動します。ブラウザーで http://localhost:3000 を開きます。
Node.js 20 以降では、
--watch フラグを使用すると、ファイルの変更時にサーバーが自動的に再起動します。チェックポイントこれで、Auth0 のログインページが完全に動作するようになっているはずです。次のことを確認してください。
- 「Login」をクリックすると、Auth0 の Universal Login ページにリダイレクトされる
- 認証を完了すると、アプリにリダイレクトされる
- 「/profile」にアクセスすると、ユーザー情報が表示される
- 「Logout」をクリックすると、アプリと Auth0 の両方からログアウトされる
高度な使い方
アクセストークンを使用して保護された API を呼び出す
アクセストークンを使用して保護された API を呼び出す
アクセストークンが必要な外部 API を呼び出すには、オーディエンスを指定して SDK を設定します。次に、アクセストークンを取得して使用します。
server.js
.env ファイルに次を追加します。.env
server.js
カスタムルートパス
カスタムルートパス
アカウントのリンク
アカウントのリンク
ユーザーが複数の認証プロバイダーを 1 つのアカウントにリンクできるようにします。これにより、次のルートが自動的に作成されます。
server.js
/auth/connect- 新しいプロバイダーをリンク/auth/connect/callback- リンクのコールバックを処理/auth/unconnect- プロバイダーのリンクを解除/auth/unconnect/callback- リンク解除のコールバックを処理
views/profile.ejs
TypeScript を使用する
TypeScript を使用する
型安全性を向上させるため、プロジェクトを TypeScript に移行します。
tsconfig.json を作成します。tsconfig.json
server.js を server.ts にリネームし、型を追加します。server.ts
package.json を更新します。package.json
トラブルシューティング
よくある問題と解決策
よくある問題と解決策
次のステップ
- Fastify API Authentication - JWT を検証して API エンドポイントを保護します
- Customize Universal Login - ログイン体験をブランドに合わせてカスタマイズします
- Add Social Connections - Google、GitHub などのソーシャルログインを有効にします
- Implement MFA - 多要素認証を追加します
リソース
- auth0-fastify GitHub - ソースコードとサンプル
- Fastify Documentation - Fastify の詳細はこちら
- Auth0 Community - コミュニティでサポートを受ける