Table of Contents
このガイドでは、Authlete のフロントエンドとして動作する認可サーバー(AS)のセットアップと実行方法を説明します。
注意: クイックスタートを読んで、Authlete 管理コンソールの概要を確認してください。
このクイックスタートには以下のいずれかが必要です:
認可サービスを管理および運用するには、Authlete アカウントが必要です。Authlete アカウントは30日間無料で利用できます。ソーシャルログインを使用するか、メール/パスワードを使用してログインできます。
acme
という名前の新しい組織を作成します。
acme
組織に切り替えます。Demo AS
のような名称で作成します。Demo AS
のような名前を入力します。GitHub に公開されている、様々な認可サーバー参照実装の中から、Authlete Java OAuth Server リポジトリをクローンします:
git clone https://github.com/authlete/java-oauth-server.git
cd java-oauth-server
認可サーバーを、ステップ 3 で設定した Authlete サービスに接続するために、authlete.properties
ファイルを設定します
<<Service_ID>>
をステップ 3 で控えたサービス ID に置き換えます。<<SERVICE_ACCESS_TOKEN>>
をステップ 4 で生成したアクセストークンに置き換えます。base_url
を API クラスタリージョンに応じて調整します:
base_url = https://<<api-cluster-region>>.authlete.com
api_version = V3
base_url = https://us.authlete.com
service.api_key = <<Service_ID>>
service.access_token = <<SERVICE_ACCESS_TOKEN>>
authlete.properties
ファイルでは、上記のプロパティ値がコメントアウトされており、処理されないようになっています。サーバーを実行する前に、プロパティ値のコメントを解除してください。Docker または Java を使用してサーバーを実行します:
Docker を使用(推奨):
以下のコマンドでサーバーを起動します:
docker compose up
Java を使用:
Maven がインストールされていて JAVA_HOME
が正しく設定されていることを確認し、次のコマンドを実行します:
mvn jetty:run
http://localhost:8080
にアクセスします。認可サーバーをテストするには、Authlete コンソールでクライアントを作成する必要があります。
Authlete コンソールの Demo AS に移動します。
クライアントの作成 をクリックし、クライアントの名前を入力して 作成 をクリックします。
クライアント ID を控えておきます。
エンドポイント -> 基本設定 -> リダイレクト URI に移動し、追加 をクリックし、次のリダイレクト URI を追加します:
https://oidcdebugger.com/debug
他の設定はすべてデフォルトのままにし、変更を保存 をクリックします。
OpenID Connect Debugger にアクセスし、以下の情報を入力します:
http://localhost:8080/api/authorization
Response type を code
に設定し、Response mode を form_post
にします。
(任意)PKCE をテストするには、Use PKCE チェックボックスを選択します。PKCE は Authlete サービスでデフォルトで有効になっています。
下にスクロールし、Send Request ボタンをクリックして認可プロセスを開始します。
これにより、サンプル AS のログインページにリダイレクトされます。以下のクレデンシャルを入力し、Authorize をクリックします:
max
max
OIDC Debugger にリダイレクトされ、Authlete によって認可コードが発行されます。
Start over をクリックしてホームページに戻ります。
Response type を id_token
に設定します。
Send Request をクリックして新しい認可プロセスを開始します。
Debugger にリダイレクトされ、Authlete によって ID トークンが発行されます。
セキュリティ上の注意: ⚠️ このセットアップでは、ID トークンは
client_secret
とHS256
アルゴリズムを使用して署名されています。この設定はデモ目的のみに使用してください。実際のアプリケーションでは、JSON Web Key (JWK) をアップロード し、RS256
のような非対称署名アルゴリズムを使用する必要があります。
以上です! 🎉 Authlete を使用した認可サーバーのセットアップおよびテストに成功しました。
この認可サーバーを使って、より高度な機能や設定を試してみましょう。: