メインコンテンツへスキップ
このページは Authlete 3.0 用です。2.x で Java による認可サーバー・リソースサーバーのチュートリアル(ロイヤルティ/eコマースデモ)は JavaでのAuthlete API入門(2.x) をご覧ください。入力フィールドで接続情報を入れると authlete.properties が動的に表示されるインタラクティブ版は www.authlete.com のサンプル認可サーバーのセットアップ をご利用ください。
このガイドでは、Authlete のフロントエンドとして動作する認可サーバー(AS)のセットアップと、クライアント(OpenID Connect Debugger)を用いたテスト方法を説明します。

前提条件

このガイド手順の実施にあたっては、事前にクイックスタートに従い Authlete を設定し、以下の値を控えておいてください。 また、認可サーバーの実行環境として、以下のいずれかが必要です。
  • Docker(推奨)バージョン 1.29 以上
  • Java

1. クライアントの作成

クライアント作成を開始

Authlete コンソールの Sample Service に移動し、初めてのクライアントを作成しましょう(もしくはクライアントを新規作成)をクリックします。 Create Client Screenshot クライアントの名前(例: Sample Client)を入力し、作成をクリックします。 Create Client Screenshot

クライアント ID を取得

作成後、クライアントの基本設定が表示されます。 Create Client Screenshot 自動生成されている、クライアント ID の値を控えておきます。 次に左ペインのエンドポイントをクリックし、さらに基本設定をクリックします。

リダイレクト URI を指定

エンドポイントの基本設定が表示されます。リダイレクト URI セクションの追加をクリックします。 Create Client Screenshot 「URI を追加」の項目に、値として https://oidcdebugger.com/debug を追加します。他の設定はすべてデフォルトのままにし、変更を保存をクリックします。 Create Client Screenshot これで Authlete 側の設定は完了です。

2. 認可サーバーのセットアップ

サンプル認可サーバーを入手

GitHub に公開されている、様々な認可サーバー参照実装の中から、java-oauth-server リポジトリをクローンします。

接続情報を設定

Authlete サービスへの接続情報を設定します。まず、authlete.properties ファイルの最後の 4 行をアンコメント(行頭の # を削除)します。
これらのプロパティを、以下のように編集します。 編集後のプロパティを以下に示します。

サンプル認可サーバーを実行

Docker または Java を使用してサーバーを実行します。

Docker を使用(推奨)

以下のコマンドでサーバーを起動します。

Java を使用

Maven がインストールされていて JAVA_HOME が正しく設定されていることを確認し、次のコマンドを実行します。

セットアップの確認

ブラウザを開き、http://localhost:8080 にアクセスします。サンプル認可サーバーのホームページが表示されます。 homepage これで、サンプル認可サーバーの設定が完了しました。

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 サービスのデフォルトで有効)
入力後、Send Request ボタンをクリックし、認可フローを開始します。 Create Client Screenshot サンプル認可サーバーのログインページにリダイレクトされます。以下のログイン情報を入力し、Authorize をクリックします。
  • Login ID: max
  • Password: max
OpenID Connect Debugger にリダイレクトされ、サンプル認可サーバーの発行した認可コードが表示されます。 Create Client Screenshot これで、サンプル認可サーバーがクライアント(OpenID Connect Debugger)に認可コードを発行するまでの確認ができました。このあと、クライアントは認可コードを用いてトークンリクエストを行うことで、アクセストークンが取得できます。(本ガイドでは割愛します)

ID トークンの発行 (OIDC インプリシットフロー)

次に、OpenID Connect のフローを試してみましょう。
  1. まず、さきほどのページ(認可コードが表示されているページ)の Start over をクリックし、OpenID Connect Debugger のホームページに戻ります。
  2. Authorize URI, Redirect URI および Client ID が設定済みであることを確認してください。
  3. Scope に openid を入力します。
  4. Response type として id_token のみを選択します(code のチェックは外してください)。
  5. Send Request をクリックして新しい認可フローを開始します。
  6. サンプル認可サーバーのログインページにリダイレクトされます。Authorize をクリックします。
  7. OpenID Connect Debugger にリダイレクトされ、サンプル認可サーバーの発行した ID トークンが表示されます。
ID Token Screenshot
セキュリティ上の注意: このセットアップでは、ID トークンは client_secret と HS256 アルゴリズムを使用して署名されています。この設定はデモ目的のみに使用してください。実際のアプリケーションでは、JSON Web Key (JWK) をアップロード し、RS256 のような非対称署名アルゴリズムを使用する必要があります。
以上です! 🎉 Authlete を使用した認可サーバーのセットアップおよびテストに成功しました。 この認可サーバーを使って、より高度な機能や設定を試してみましょう。
  • サンプル認可サーバー(java-oauth-server)のカスタマイズについては、CUSTOMIZATION.ja.md を参照してください。
  • 認可サーバーが使用している Authlete API の詳細については、API リファレンスを参照してください。