メインコンテンツへスキップ

AI を使用して Auth0 を統合する

Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:
次に、AI アシスタントに次のように依頼します。
AI アシスタントは、Auth0 アプリケーションの作成、認証情報の取得、@auth0/auth0-fastify のインストール、プラグインの設定、必要なルートとビューの作成を自動的に行います。agent skills の完全なドキュメント →
前提条件: 開始する前に、次のものがインストールされていることを確認してください。
  • Node.js 20 LTS 以降
  • npm 10 以降、または yarn 1.22 以降、または pnpm 8 以降
インストールを確認するには、次を実行します: node --version && npm --versionFastify のバージョン互換性: このクイックスタートは Fastify 5.x 以降に対応しています。

はじめに

このクイックスタートでは、Fastify アプリケーションに Auth0 認証を追加する方法を説明します。Auth0 Fastify SDK を使用して、ログイン、ログアウト、ユーザープロファイル機能を備えたセキュアな Web アプリケーションを構築します。
1

新規プロジェクトを作成

Fastify アプリケーション用の新しいディレクトリを作成し、Node.js プロジェクトを初期化します。
プロジェクトを初期化する
プロジェクトの構成を作成する
2

Auth0 Fastify SDK をインストールする

必要な依存関係をインストールする
サーバーサイドレンダリングには、ejs@fastify/view を使用しています。Fastify でサポートされている任意のテンプレートエンジンを使用できます。
package.json を更新して、start スクリプトを追加します。
package.json
3

Auth0アプリを設定する

次に、Auth0テナントに新しいアプリケーションを作成し、プロジェクトに環境変数を追加します。Auth0アプリの設定方法は 3 つあります。Quick Setup ツール (推奨) を使う方法、CLI コマンドを実行する方法、または Dashboard で手動設定する方法です。
Auth0アプリを作成し、正しい設定値があらかじめ入力された .env ファイルをコピーします。
.env ファイルが存在することを確認します: cat .env (Mac/Linux) または type .env (Windows)
4

Auth0プラグインを設定する

Fastify サーバーを作成し、Auth0 プラグインを登録します。
server.js
このコードで行われること:
  • HTML テンプレートをレンダリングするためのビューエンジンを登録します
  • 認証情報を使用して Auth0 プラグインを設定します
  • /auth/login/auth/logout/auth/callback にルートを自動作成します
  • 暗号化された Cookie を使用してセッションを管理します
5

ビュー テンプレートを作成

views ディレクトリを作成し、テンプレートファイルを追加します:
Mac/Linux
Windows
ホームページのテンプレートを作成します。
views/home.ejs
プロフィールページのテンプレートを作成します。
views/profile.ejs
6

ルートを作成

server.js ファイルにルートを追加します:
server.js
重要なポイント:
  • ホームルートでは認証状態を確認し、その結果をテンプレートに渡します
  • プロファイルルートでは、ルートを保護するために preHandler を使用します
  • getSession() はユーザーのセッションを返し、認証されていない場合は null を返します
  • getUser() は認証済みユーザーのプロフィール情報を返します
7

アプリを起動する

開発サーバーを起動します。
ブラウザーで http://localhost:3000 を開きます。
Node.js 20 以降では、--watch フラグを使用すると、ファイルの変更時にサーバーが自動的に再起動します。
チェックポイントこれで、Auth0 のログインページが完全に動作するようになっているはずです。次のことを確認してください。
  1. 「Login」をクリックすると、Auth0 の Universal Login ページにリダイレクトされる
  2. 認証を完了すると、アプリにリダイレクトされる
  3. 「/profile」にアクセスすると、ユーザー情報が表示される
  4. 「Logout」をクリックすると、アプリと Auth0 の両方からログアウトされる

高度な使い方

アクセストークンが必要な外部 API を呼び出すには、オーディエンスを指定して SDK を設定します。
server.js
.env ファイルに次を追加します。
.env
次に、アクセストークンを取得して使用します。
server.js
デフォルトでは、Auth0 のルートは /auth/* にマウントされます。自動マウントを無効にして、カスタムルートを作成できます。
server.js
カスタムコールバック URL を含めるよう、Auth0 Dashboard の Allowed Callback URLs を忘れずに更新してください。
ユーザーが複数の認証プロバイダーを 1 つのアカウントにリンクできるようにします。
server.js
これにより、次のルートが自動的に作成されます。
  • /auth/connect - 新しいプロバイダーをリンク
  • /auth/connect/callback - リンクのコールバックを処理
  • /auth/unconnect - プロバイダーのリンクを解除
  • /auth/unconnect/callback - リンク解除のコールバックを処理
プロフィールページにリンク用のボタンを追加します。
views/profile.ejs
型安全性を向上させるため、プロジェクトを TypeScript に移行します。
tsconfig.json を作成します。
tsconfig.json
server.jsserver.ts にリネームし、型を追加します。
server.ts
package.json を更新します。
package.json

トラブルシューティング


次のステップ

認証が動作するようになったら、次の内容も確認してください。

リソース