このページは Authlete 3.0 用です。2.x で Java による認可サーバー・リソースサーバーのチュートリアル(ロイヤルティ/eコマースデモ)は JavaでのAuthlete API入門(2.x) をご覧ください。入力フィールドで接続情報を入れると authlete.properties が動的に表示されるインタラクティブ版は www.authlete.com のサンプル認可サーバーのセットアップ をご利用ください。
前提条件
このガイド手順の実施にあたっては、事前にクイックスタートに従い Authlete を設定し、以下の値を控えておいてください。| 項目 | 値 |
|---|---|
| API クラスターのホスト名 | 例: https://jp.authlete.com |
| サービスアクセストークン | 例: jd_P2VXffUXNCESflQCNOCF76bgHXDV6kulIMax5ArA |
| サービス ID | 例: 2382899440 |
- Docker(推奨)バージョン 1.29 以上
- Java
1. クライアントの作成
クライアント作成を開始
Authlete コンソールの Sample Service に移動し、初めてのクライアントを作成しましょう(もしくはクライアントを新規作成)をクリックします。
クライアントの名前(例: Sample Client)を入力し、作成をクリックします。
クライアント ID を取得
作成後、クライアントの基本設定が表示されます。
自動生成されている、クライアント ID の値を控えておきます。
| 項目 | 値 |
|---|---|
| クライアント ID | 例: 1449670235 |
リダイレクト URI を指定
エンドポイントの基本設定が表示されます。リダイレクト URI セクションの追加をクリックします。
「URI を追加」の項目に、値として https://oidcdebugger.com/debug を追加します。他の設定はすべてデフォルトのままにし、変更を保存をクリックします。
これで Authlete 側の設定は完了です。
2. 認可サーバーのセットアップ
サンプル認可サーバーを入手
GitHub に公開されている、様々な認可サーバー参照実装の中から、java-oauth-server リポジトリをクローンします。接続情報を設定
Authlete サービスへの接続情報を設定します。まず、authlete.properties ファイルの最後の 4 行をアンコメント(行頭の # を削除)します。
| 項目 | 値 | 説明 |
|---|---|---|
| api_version | V3 | V3 のまま |
| base_url | 例: https://jp.authlete.com | <region> を API クラスタリージョンに応じて変更 |
| service.api_key | サービス ID | サービス ID を指定 |
| service.access_token | サービスアクセストークン | サービスアクセストークンを指定 |
サンプル認可サーバーを実行
Docker または Java を使用してサーバーを実行します。Docker を使用(推奨)
以下のコマンドでサーバーを起動します。Java を使用
Maven がインストールされていてJAVA_HOME が正しく設定されていることを確認し、次のコマンドを実行します。
セットアップの確認
ブラウザを開き、http://localhost:8080 にアクセスします。サンプル認可サーバーのホームページが表示されます。
これで、サンプル認可サーバーの設定が完了しました。
3. 認可サーバーのテスト
認可コードの発行(OAuth2 認可コードグラント)
Web ブラウザから OpenID Connect Debugger にアクセスし、以下の情報を設定します。- Authorize URI:
http://localhost:8080/api/authorizationを入力 - Client ID: ステップ 1 で生成されたクライアント ID を入力
- Scope: 無し(初期値
openidを削除) - Response type:
codeを選択 - Response mode:
form_postを選択 - Use PKCE: PKCE をテストする場合には選択(PKCE サポートは Authlete サービスのデフォルトで有効)
サンプル認可サーバーのログインページにリダイレクトされます。以下のログイン情報を入力し、Authorize をクリックします。
- Login ID:
max - Password:
max
これで、サンプル認可サーバーがクライアント(OpenID Connect Debugger)に認可コードを発行するまでの確認ができました。このあと、クライアントは認可コードを用いてトークンリクエストを行うことで、アクセストークンが取得できます。(本ガイドでは割愛します)
ID トークンの発行 (OIDC インプリシットフロー)
次に、OpenID Connect のフローを試してみましょう。- まず、さきほどのページ(認可コードが表示されているページ)の Start over をクリックし、OpenID Connect Debugger のホームページに戻ります。
- Authorize URI, Redirect URI および Client ID が設定済みであることを確認してください。
- Scope に
openidを入力します。 - Response type として
id_tokenのみを選択します(codeのチェックは外してください)。 - Send Request をクリックして新しい認可フローを開始します。
- サンプル認可サーバーのログインページにリダイレクトされます。Authorize をクリックします。
- OpenID Connect Debugger にリダイレクトされ、サンプル認可サーバーの発行した ID トークンが表示されます。
以上です! 🎉 Authlete を使用した認可サーバーのセットアップおよびテストに成功しました。
この認可サーバーを使って、より高度な機能や設定を試してみましょう。
- サンプル認可サーバー(java-oauth-server)のカスタマイズについては、CUSTOMIZATION.ja.md を参照してください。
- 認可サーバーが使用している Authlete API の詳細については、API リファレンスを参照してください。