このクイックスタートは現在 ベータ版 です。ぜひフィードバックをお寄せください。
AI を使って Auth0 を統合する
AI を使って Auth0 を統合する
Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:次に、AI アシスタントに次のように依頼します。AI アシスタントは、Auth0 API の作成、認証情報の取得、Auth0 Spring Boot API SDK 依存関係の追加、
application.yml の設定、JWT 検証と保護されたエンドポイントを備えた SecurityFilterChain の実装を自動的に行います。agent skills の完全なドキュメント →前提条件: 開始する前に、次のものがインストールされていることを確認してください。
- JDK 17+: Spring Boot 3.2+ との互換性のため
- Maven 3.6+ または Gradle 7+: 依存関係管理のため
- 使用する IDE (IntelliJ IDEA、Eclipse、または Java をサポートする VS Code)
はじめに
1
新しいプロジェクトを作成
このクイックスタート用の新しい Spring Boot API プロジェクトを作成します。Spring Initializr を使用する場合:または、Maven で手動作成します。
2
Auth0 SDK を追加
Auth0 Spring Boot API SDK を、プロジェクトの依存関係に追加します。Maven (Gradle (
pom.xml):build.gradle) :3
Auth0 API を設定する
次に、Auth0テナントで新しいAPIを作成し、その設定をプロジェクトに追加します。CLIコマンドを実行して自動的に行う方法と、Dashboardから手動で行う方法のいずれかを選択できます。
- CLI
- Dashboard
Auth0 API を作成し、
application.yml ファイルを更新するには、プロジェクトのルートディレクトリで次のシェルコマンドを実行します。- Mac/Linux
- Windows (PowerShell)
4
認証を設定する
Auth0 JWT 認証を有効にするセキュリティ構成クラスを作成します。
src/main/java/com/example/auth0api/SecurityConfig.java を作成します。src/main/java/com/example/auth0api/SecurityConfig.java
5
公開エンドポイントと保護エンドポイントを作成する
認証をテストするための API エンドポイントを作成します。
src/main/java/com/example/auth0api/ApiController.java を作成します。src/main/java/com/example/auth0api/ApiController.java
6
API を起動する
Spring Boot アプリケーションを起動します。Maven:Gradle:API は
http://localhost:8080 で実行中です (正確な URL はコンソール出力を確認してください) 。チェックポイントこれで、Auth0 で保護された API が localhost 上で完全に動作しているはずです。
高度な使い方
保護されたAPIの呼び出し
保護されたAPIの呼び出し
アクセストークンを使用して、保護されたエンドポイントをテストします。1. Client Credentials フローを使用して Auth0 からアクセストークンを取得します。2. 公開エンドポイントをテストします (200 OK が返されるはずです) 。3. 認証なしで保護されたエンドポイントをテストします (401 Unauthorized が返されるはずです) 。4. トークンを使用して保護されたエンドポイントを呼び出します。
YOUR_CLIENT_ID と YOUR_CLIENT_SECRET を取得するには、Auth0 Dashboard で
Machine to Machine Application を作成し、
API へのアクセスを認可します。JWT クレームへのアクセス
JWT クレームへのアクセス
エンドポイントで、追加のユーザー情報やトークンクレームにアクセスします。
DPoPによるセキュリティ強化
DPoPによるセキュリティ強化
アクセストークンを暗号鍵に関連付けてトークンのセキュリティを強化するため、DPoP (Demonstration of Proof-of-Possession) を有効にします。application.yml で DPoP サポートを設定します。DPoP モード:
-
ALLOWED(デフォルト) : Bearer トークンと DPoP トークンの両方を受け入れます -
REQUIRED: DPoP トークンのみを受け入れ、Bearer トークンは拒否します -
DISABLED: 標準の JWT Bearer 検証のみDPoP の詳細については、Auth0 DPoP Documentation を参照してください。
よくある問題
設定値が見つかりません
設定値が見つかりません
問題: 設定エラーにより、アプリケーションの起動に失敗します。解決策:
application.yml の構造とプロパティ名を確認してください。auth0 セクションにドメインとオーディエンスの値が含まれていることを確認します。フィルター順序の問題
フィルター順序の問題
問題: 設定が正しいにもかかわらず、認証が機能しません。解決策: Auth0AuthenticationFilter が Spring Security チェーンに適切に組み込まれていることを確認してください。フィルターは UsernamePasswordAuthenticationFilter より前に追加する必要があります。
ネットワーク接続の問題
ネットワーク接続の問題
問題: JWKS の取得に失敗するか、接続タイムアウトが発生します。解決策: 企業のファイアウォールが Auth0 エンドポイントをブロックしている可能性があります。HTTPS アクセス用に Auth0 ドメインを許可リストに追加してください。
認可ポリシーで Scopes が機能しない
認可ポリシーで Scopes が機能しない
問題: スコープベースの認可ポリシーが常に失敗します。解決策: アクセストークンに必要なスコープが含まれていることを確認してください。トークンをリクエストするときは、スコープを指定します。また、Auth0 API の設定でスコープが定義されていることも確認してください (Dashboard → APIs → Your API → Permissions) 。
追加リソース
SDK ドキュメント
SDK の完全なドキュメントと API リファレンス
コード例
包括的なコード例と統合パターン
DPoP ドキュメント
proof-of-possession によるセキュリティ強化について確認する
Spring Security リファレンス
Spring Security の公式ドキュメント
Auth0 Dashboard
Auth0 の API とアプリケーションを管理する
コミュニティフォーラム
Auth0 コミュニティからサポートを受ける
サンプルアプリケーション
プレイグラウンドアプリケーション
公開エンドポイントと保護されたエンドポイント、DPoP サポート、および包括的な
サンプルが含まれています