Table of Contents
このガイドでは、Authlete のフロントエンドとして動作する認可サーバー(AS)のセットアップと、クライアント(OpenID Connect Debugger)を用いたテスト方法を説明します。
このガイド手順の実施にあたっては、事前にクイックスタートに従い Authlete を設定し、以下の値を控えておいてください。
| 項目 | 値 |
|---|---|
| API クラスターのホスト名 | |
| サービスアクセストークン | |
| サービス ID |
また、認可サーバーの実行環境として、以下のいずれかが必要です。
Authlete コンソールの Sample Service に移動し、初めてのクライアントを作成しましょう(もしくはクライアントを新規作成)をクリックします。
クライアントの名前(例: Sample Client)を入力し、作成をクリックします。
作成後、クライアントの基本設定が表示されます。
自動生成されている、クライアント ID の値を控えておきます。
| 項目 | 値 |
|---|---|
| クライアント ID |
次に左ペインのエンドポイントをクリックし、さらに基本設定をクリックします。
エンドポイントの基本設定が表示されます。リダイレクト URI セクションの追加をクリックします。
「URI を追加」の項目に、値として https://oidcdebugger.com/debug を追加します。他の設定はすべてデフォルトのままにし、変更を保存をクリックします。
これで Authlete 側の設定は完了です。
GitHub に公開されている、様々な認可サーバー参照実装の中から、java-oauth-server リポジトリをクローンします。
$ git clone https://github.com/authlete/java-oauth-server.git
$ cd java-oauth-server
Authlete サービスへの接続情報を設定します。まず、authlete.properties ファイルの最後の 4 行をアンコメント(行頭の # を削除)します。
api_version = V3
base_url = https://<region>.authlete.com
service.api_key = 986126671
service.access_token =
これらのプロパティを、以下のように編集します。
| 項目 | 値 | 説明 |
|---|---|---|
| api_version | V3 |
V3 のまま |
| base_url |
|
<region> を API クラスタリージョンに応じて変更 |
| service.api_key |
|
サービス ID を指定 |
| service.access_token |
|
サービスアクセストークンを指定 |
編集後のプロパティを以下に示します。
Docker または Java を使用してサーバーを実行します。
以下のコマンドでサーバーを起動します。
docker compose up
Maven がインストールされていて JAVA_HOME が正しく設定されていることを確認し、次のコマンドを実行します。
mvn jetty:run
ブラウザを開き、http://localhost:8080 にアクセスします。サンプル認可サーバーのホームページが表示されます。
これで、サンプル認可サーバーの設定が完了しました。
Web ブラウザから OpenID Connect Debugger にアクセスし、以下の情報を設定します。
http://localhost:8080/api/authorization を入力
) を入力openid を削除)code を選択form_post を選択入力後、Send Request ボタンをクリックし、認可フローを開始します。
サンプル認可サーバーのログインページにリダイレクトされます。以下のログイン情報を入力し、Authorize をクリックします。
maxmaxOpenID Connect Debugger にリダイレクトされ、サンプル認可サーバーの発行した認可コードが表示されます。
これで、サンプル認可サーバーがクライアント(OpenID Connect Debugger)に認可コードを発行するまでの確認ができました。このあと、クライアントは認可コードを用いてトークンリクエストを行うことで、アクセストークンが取得できます。(本ガイドでは割愛します)
次に、OpenID Connect のフローを試してみましょう。
openid を入力します。id_token のみを選択します(code のチェックは外してください)。
セキュリティ上の注意: ⚠️ このセットアップでは、ID トークンは
client_secretとHS256アルゴリズムを使用して署名されています。この設定はデモ目的のみに使用してください。実際のアプリケーションでは、JSON Web Key (JWK) をアップロード し、RS256のような非対称署名アルゴリズムを使用する必要があります。
以上です! 🎉 Authlete を使用した認可サーバーのセットアップおよびテストに成功しました。
この認可サーバーを使って、より高度な機能や設定を試してみましょう。