前提条件: 始める前に、以下がインストールされていることを確認してください。
- 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 の完全なドキュメント →はじめに
1
新規Java Webプロジェクトの作成
このQuickstart用に、新しいJavaのWebアプリケーションプロジェクトを作成します。プロジェクトのディレクトリに移動します。
- Maven
- Gradle
2
Auth0 Java MVC Commons SDK のインストール
Auth0 の依存関係をプロジェクトのビルドファイルに追加してください。
- Maven
- Gradle
次の依存関係を
pom.xml に追加してください。3
Auth0アプリケーションを設定する
次に、Auth0 テナントで新しいアプリケーションを作成し、その設定をプロジェクトに追加します。許可済みのログアウト URL:許可済みのWebオリジン:
- Auth0 Dashboard を開きます
- Applications > Applications > Create Application をクリックします
- ポップアップでアプリケーション名を入力し、アプリケーションの種類として Regular Web Application を選択して、Create をクリックします
- Application Details ページで Settings タブに切り替えます
- Auth0 Dashboard で Domain、Client ID、Client Secret の値を控えます
- 最後に、Application Details ページの Settings タブで、次の URL を設定します。
- Allowed Callback URLs は、認証後にユーザーを安全にアプリケーションへ戻すための重要なセキュリティ対策です。一致するURLが設定されていないと、ログインは失敗し、ユーザーはアプリにアクセスできず、代わりにAuth0のエラーページが表示されます。
- Allowed Logout URLs は、サインアウト時にシームレスなユーザー体験を提供するために不可欠です。一致するURLが設定されていないと、ユーザーはlogout後にアプリケーションへリダイレクトされず、代わりに汎用的なAuth0ページに残ることになります。
- Allowed Web Origins は、サイレント認証に不可欠です。これがないと、ユーザーはページを更新したときや、後でアプリに戻ったときにログアウトされます。
4
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アプリケーションの設定にある実際の値に置き換えてください。5
認証用コンポーネントとフィルターを作成する
認証フローの処理とセキュリティで保護されたページへのアクセス制御に必要なJavaクラスを作成します。
6
ユーザーインターフェイスページを作成する
アプリケーション用の JSP ページと HTML ファイルを作成します。
7
アプリケーションをビルドして実行する
これで、アプリケーションをビルドして実行する準備が整いました。Tomcat (またはお使いのサーブレットコンテナ) を起動します。
- Maven
- Gradle
アプリケーションをビルドします。Tomcat にデプロイします。
チェックポイントこれで、Auth0 と統合されたサーブレットアプリケーションが http://localhost:8080/ で正常に動作しているはずです。実装をテストする:
- アプリケーションの URL にアクセスします
- 「Auth0 でログイン」をクリックします
- Auth0 でのログインを完了します
- トークンが表示されたプロファイルページにリダイレクトされるはずです
- 「Logout」をクリックしてセッションをクリアします
高度な使用法
アプリケーションの拡張
アプリケーションの拡張
基本的な認証が動作するようになったら、次のような拡張も検討してください。
- ユーザープロファイル情報: ID トークンをデコードしてユーザー情報を表示する
- API 呼び出し: access token を使用して Auth0 の Management API や独自の API を呼び出す
- ロールベースのアクセス制御: Auth0 のロールと権限を使用して認可を実装する
- シングルサインオン: 複数のアプリケーション間で SSO を構成する
追加リソース
追加リソース
- Auth0 Java MVC Commons Documentation - Auth0 Dashboard - Auth0 のアプリケーションを管理 - Auth0 Servlet Sample Repository - 完全な 例 - Auth0 Java SDK Documentation - SDK の高度な 活用方法
トラブルシューティング
トラブルシューティング
よくある問題「Invalid callback URL」で認証に失敗する
- Auth0 アプリケーションの設定にある callback URL が次と完全に一致していることを確認してください:
http://localhost:8080/callback
web.xmlの設定に正しい Auth0 アプリケーションの値が入っていることを確認してください- パラメーター名が次と完全に一致していることを確認してください:
com.auth0.domain,com.auth0.clientId,com.auth0.clientSecret
- 必要な依存関係がすべて classpath に含まれていることを確認してください
- 使用しているサーブレットコンテナが Servlet API 3.0+ をサポートしていることを確認してください
- サーバーのログで具体的なエラーメッセージを確認してください
- 使用しているサーブレットコンテナがセッション管理用に設定されていることを確認してください
- ブラウザーで Cookie が有効になっていることを確認してください
- 本番環境では HTTPS を使用していることを確認してください