この Quickstart は現在 Beta です。ぜひフィードバックをお寄せください!
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 の完全なドキュメント →前提条件: 始める前に、以下がインストールされていることを確認してください。
- Spring Boot 3.2+ との互換性に必要な JDK 17+
- 依存関係管理に必要な Maven 3.6+ または Gradle 7+
- お使いの IDE (IntelliJ IDEA、Eclipse、または Java をサポートする VS Code)
はじめましょう
1
新しいプロジェクトを作成
このQuickstart向けに、新しい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コマンドを実行して自動的に行う方法と、Auth0 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. クライアント認証情報フローを使用して、Auth0 からアクセストークンを取得します。2. 公開エンドポイントをテスト します (200 OK が返るはずです) 。3. 認証なしで保護されたエンドポイントをテスト します (401 Unauthorized が返るはずです) 。4. トークンを使用して保護されたエンドポイントを呼び出します。
YOUR_CLIENT_ID と YOUR_CLIENT_SECRET を取得するには、Auth0 Dashboard
で Machine to Machine
アプリケーションを作成し、その 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 セクションに domain と audience の値が含まれていることを確認します。フィルターの順序の問題
フィルターの順序の問題
問題: 設定が正しいにもかかわらず、認証が機能しません。解決策: Auth0AuthenticationFilter が Spring Security チェーンに正しく組み込まれていることを確認してください。このフィルターは UsernamePasswordAuthenticationFilter より前に追加する必要があります。
ネットワーク接続の問題
ネットワーク接続の問題
問題: JWKS の取得に失敗する、または接続タイムアウトが発生します。解決策: 企業のファイアウォールが Auth0 のエンドポイントをブロックしている可能性があります。HTTPS アクセス用に Auth0 ドメインを許可リストに追加してください。
認可ポリシーでスコープが機能しない
認可ポリシーでスコープが機能しない
問題: スコープベースの認可ポリシーが常に失敗します。解決策: access token に必要なスコープが含まれていることを確認してください。トークンをリクエストする際は、スコープを指定します。また、スコープが Auth0 API の設定でも定義されていることを確認してください (Auth0 Dashboard → APIs → Your API → Permissions) 。
追加リソース
SDKドキメント
SDKの完全なドキュメントとAPIリファレンス
コード例
豊富なコード例と連携パターン
DPoPドキュメント
Proof-of-Possessionによるセキュリティ強化について詳しく学ぶ
Spring Securityリファレンス
Spring Securityの公式ドキュメント
Auth0 Dashboard
Auth0 APIやアプリケーションを管理
コミュニティフォーラム
Auth0 Communityでサポートを受ける
サンプルアプリケーション
プレイグラウンドアプリケーション
公開エンドポイントと保護されたエンドポイント、DPoP のサポート、豊富な
例が含まれています