AI を使って Auth0 を統合する
AI を使って Auth0 を統合する
Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:次に、AI アシスタントに次のように依頼します。AI アシスタントが、Auth0 アプリケーションの作成、認証情報の取得、
express-openid-connect のインストール、ミドルウェアの設定、ルートのセットアップを自動的に行います。agent skills の完全なドキュメント →はじめに
express-openid-connect SDK を使用して、Express.js の Web アプリケーションに Auth0 を統合し、認証を追加して、ユーザープロファイル情報を表示する方法を紹介します。
1. 新しいプロジェクトを作成する
2. Auth0 Express SDK をインストールする
express-openid-connect をインストールします。
package.json を更新して、起動スクリプトを追加します。
📁 package.json
3. Auth0 App を設定する
- CLI
- Dashboard
次のシェルコマンドをプロジェクトのルートディレクトリで実行し、Auth0 アプリケーションを作成して Windows (PowerShell):
.env ファイルを生成します。macOS / Linux:Auth0 CLI をまだインストールしていない場合は、次を実行します。その後、
auth0 login で認証します。4. ミドルウェアを設定する
auth() ミドルウェアはセッションを管理し、/login、/logout、/callback ルートを自動的に作成します。
📁 index.js
authRequired: falseを設定すると、認証の有無にかかわらず、デフォルトですべてのユーザーがルートにアクセスできますauth0Logout: trueを設定すると、ユーザーはアプリだけでなく Auth0 からもログアウトされます- ミドルウェアにより、
/login、/logout、/callbackのルートが自動的に自動的に追加されます - ユーザーセッションは暗号化された Cookie に保存されます
5. ログイン、ログアウト、ユーザープロファイル用のルートを作成する
requiresAuth()ミドルウェアは/profileルートを保護し、未認証のユーザーをログイン画面にリダイレクトしますreq.oidc.userには、認証済みユーザーのユーザープロファイル情報が含まれていますreq.oidc.isAuthenticated()は、ログイン状態を示すブール値を返します- ログインおよびログアウトのルート (
/login、/logout) は、auth()ミドルウェアによって自動的に作成されます
6. アプリを実行する
チェックポイントこれで、正しく動作する Auth0 のログインページが表示されるはずです。次のことを確認してください。
- “Login” をクリックする - Auth0 の Universal Login ページにリダイレクトされます
- 認証を完了する - アプリにリダイレクトされます
- “/profile” にアクセスする - ユーザー情報が表示されます
- “Logout” をクリックする - アプリと Auth0 の両方からログアウトされます
応用
requiresAuth() で特定のルートを保護する
requiresAuth() で特定のルートを保護する
認証が必要な個々のルートを保護するには、Express Router を使用して、特定のパス配下にあるすべてのルートを保護することもできます。
requiresAuth() ミドルウェアを使用します。アクセストークンを使用した保護されたAPIの呼び出し
アクセストークンを使用した保護されたAPIの呼び出し
アクセストークンが必要な外部 API を呼び出すには、SDK を設定してアクセストークンを取得するようにします。📁 index.js (更新後の設定)これらを 次に、アクセストークンを使用して API を呼び出します。
.env ファイルに追加します。リフレッシュトークンを取得するには、scope に
offline_access を追加します。クレームベース認可の使用
クレームベース認可の使用
カスタムセッションストア (Redis)
カスタムセッションストア (Redis)
本番環境や複数のサーバーインスタンスを実行する場合は、カスタムのセッションストアを使用してください。カスタムセッションストアを使用すべきケース:
- 複数のサーバーインスタンスを運用している場合 (ロードバランシング)
- セッションデータが Cookie のサイズ制限 (約4KB) を超える場合
- サーバーの再起動後もセッションを保持する必要がある場合
- バックチャネルログアウトを使用している場合
エラー処理
エラー処理
認証エラーに対する適切なエラー処理を追加します。
トラブルシューティング
よくある問題と解決策
よくある問題と解決策
次のステップ
- 認可を追加する - ロールベースアクセス制御を実装します
- 保護された API を呼び出す - アクセストークンを使用してバックエンド API を呼び出します
- Universal Login をカスタマイズする - ログイン画面をブランドに合わせてカスタマイズします
- ソーシャル接続を追加する - Google、GitHub などのソーシャルログインを有効にします
- MFA を実装する - 多要素認証を追加します
リソース
- express-openid-connect GitHub - ソースコードとサンプル
- API Documentation - API リファレンス全文
- Auth0 Express Sample App - 完全なサンプルアプリケーション
- Auth0 Community - コミュニティでサポートを受ける