前提条件: 始める前に、次のものがインストールされていることを確認してください。
- Java Development Kit (JDK): バージョン 8 以降
- ビルドツール: Maven 3.6+ または Gradle 6.0+
- アプリケーションサーバー: Apache Tomcat 9.0+ または任意のサーブレットコンテナ
- Auth0 アカウント: お持ちでない場合は、無料でサインアップ してください
AI を使って Auth0 を統合する
AI を使って Auth0 を統合する
Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って数分で Auth0 の認証を自動的に追加できます。インストール:次に、AI アシスタントに次のように依頼します。AI アシスタントは、Auth0 アプリケーションの作成、認証情報の取得、Auth0 Java MVC Commons SDK 依存関係の追加、web.xml の設定、サーブレットフィルターを使ったログイン/ログアウト フローの実装を自動的に行います。agent skills の完全なドキュメント →
はじめに
新しい Java Web プロジェクトを作成する
このquickstart用に、新しい Java Web アプリケーションプロジェクトを作成します。プロジェクトディレクトリに移動します。
- Maven
- Gradle
Auth0 Java MVC Commons SDK をインストールする
プロジェクトのビルドファイルにAuth0の依存関係を追加します。
- Maven
- Gradle
次の依存関係を
pom.xml に追加します。Auth0 アプリケーションを設定する
次に、Auth0テナントで新しいアプリケーションを作成し、その設定をプロジェクトに追加します。Allowed Logout URLs:許可する Web オリジン:
- Auth0 Dashboard に移動します
- Applications > Applications > Create Application をクリックします
- ポップアップでアプリの名前を入力し、アプリケーションの種類として Regular Web Application を選択して、Create をクリックします
- Application Details ページで Settings タブに切り替えます
- Dashboard で ドメイン、クライアントID、クライアントシークレット の値を控えます
- 最後に、Application Details ページの Settings タブで、次の URL を設定します:
- Allowed Callback URLs は、認証後にユーザーを安全にアプリケーションへ戻すための重要なセキュリティ対策です。一致する URL がない場合、ログイン処理は失敗し、ユーザーはアプリにアクセスできず、代わりに Auth0 のエラーページが表示されます。
- Allowed Logout URLs は、サインアウト時にシームレスなユーザー体験を提供するうえで不可欠です。一致する URL がない場合、ログアウト後にユーザーはアプリケーションへリダイレクトされず、代わりに Auth0 の汎用ページに留まることになります。
- Allowed Web Origins は、サイレント認証に不可欠です。これが設定されていないと、ユーザーはページを更新したときや、後でアプリに戻ったときにログアウトされます。
Auth0 SDK を構成する
上で生成した Auth0 の認証情報を使うように 重要:
web.xml を設定し、servlet アプリケーションで Auth0 SDK を利用できるようにします。src/main/webapp/WEB-INF/web.xml を作成または更新し、プレースホルダーの値を実際の Auth0 アプリケーション設定に置き換えます。YOUR_AUTH0_DOMAIN、YOUR_AUTH0_CLIENT_ID、YOUR_AUTH0_CLIENT_SECRET は、Auth0 アプリケーションの設定にある実際の値に置き換えてください。チェックポイントこれで、http://localhost:8080/ で動作する、Auth0 と統合された完全なサーブレットアプリケーションが利用できるようになっているはずです。実装をテストします。
- アプリケーションの URL にアクセスします
- 「Auth0 でログイン」をクリックします
- Auth0 のログインプロセスを完了します
- トークンが表示されるユーザープロファイルページにリダイレクトされるはずです
- 「ログアウト」をクリックしてセッションをクリアします
高度な使用方法
アプリケーションの機能強化
アプリケーションの機能強化
基本的な認証が動作するようになったら、次の機能拡張を検討してください。
- ユーザープロフィール情報: IDトークンをデコードしてユーザー情報を表示する
- API 呼び出し: アクセストークンを使用して Auth0 の Management API や独自の API を呼び出す
- ロールベースのアクセス制御: Auth0 のロールと権限を使用して認可を実装する
- シングルサインオン: 複数のアプリケーション間で SSO を構成する
追加リソース
追加リソース
- Auth0 Java MVC Commons Documentation - Auth0 Dashboard - Auth0 アプリケーションの管理 - Auth0 Servlet Sample Repository - 完全な 例 - Auth0 Java SDK Documentation - 高度な SDK の 使用方法
トラブルシューティング
トラブルシューティング
よくある問題「無効なコールバックURL」により認証に失敗する
- Auth0アプリケーション設定のコールバックURL が、次の値と完全に一致していることを確認します:
http://localhost:8080/callback
web.xmlの設定に正しい Auth0アプリケーションの値が含まれていることを確認します- パラメーター名が次のとおり完全に一致していることを確認します:
com.auth0.domain,com.auth0.clientId,com.auth0.clientSecret
- 必要な依存関係がすべてクラスパスに含まれていることを確認します
- 使用しているサーブレットコンテナが Servlet API 3.0 以降をサポートしていることを確認します
- サーバーログで具体的なエラーメッセージを確認します
- サーブレットコンテナがセッション管理用に設定されていることを確認します
- ブラウザーでクッキーが有効になっていることを確認します
- 本番環境では HTTPS を使用していることを確認します