サンプル認可サーバーのセットアップ

このガイドでは、Authlete のフロントエンドとして動作する認可サーバー(AS)のセットアップと実行方法を説明します。

注意: クイックスタートを読んで、Authlete 管理コンソールの概要を確認してください。

必要条件

このクイックスタートには以下のいずれかが必要です:

  • Docker 1.29 以上
  • Java

ステップ 1: Authlete アカウントを取得

認可サービスを管理および運用するには、Authlete アカウントが必要です。Authlete アカウントは30日間無料で利用できます。ソーシャルログインを使用するか、メール/パスワードを使用してログインできます。

ステップ 2: 組織の新規作成

  1. Authlete コンソール にログインします。
  2. acme という名前の新しい組織を作成します。
    homepage

ステップ 3: サービスの新規作成

  1. 作成した acme 組織に切り替えます。
  2. この組織の下で新しいサービスを、Demo AS のような名称で作成します。
  3. 現時点では、すべての設定をデフォルトのままにします。
  4. 作成 をクリックし、 サービス ID を控えておきます。 この ID はステップ 5 で使用します。
homepage

ステップ 4: サービスアクセストークンの生成

  1. サービス設定 に移動し、基本設定 を選択します。
  2. 詳細設定 タブを開きます。
  3. アクセストークン セクションDemo AS のような名前を入力します。
  4. 作成 をクリックしてトークンを生成し、生成されたトークンを控えておきます(ステップ 5 で使用します)。
homepage

ステップ 5: サンプル AS のセットアップ

  1. GitHub に公開されている、様々な認可サーバー参照実装の中から、Authlete Java OAuth Server リポジトリをクローンします:

    git clone https://github.com/authlete/java-oauth-server.git
    cd java-oauth-server
    
  2. 認可サーバーを、ステップ 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 ファイルでは、上記のプロパティ値がコメントアウトされており、処理されないようになっています。サーバーを実行する前に、プロパティ値のコメントを解除してください。
  3. Docker または Java を使用してサーバーを実行します:

    • Docker を使用(推奨):

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

      docker compose up
      
    • Java を使用:

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

      mvn jetty:run
      

ステップ 6: セットアップの確認

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

ステップ 7: クライアントの作成

  1. 認可サーバーをテストするには、Authlete コンソールでクライアントを作成する必要があります。

  2. Authlete コンソールの Demo AS に移動します。

  3. クライアントの作成 をクリックし、クライアントの名前を入力して 作成 をクリックします。

    Create Client Screenshot
  4. クライアント ID を控えておきます。

  5. エンドポイント -> 基本設定 -> リダイレクト URI に移動し、追加 をクリックし、次のリダイレクト URI を追加します:

    • https://oidcdebugger.com/debug
  6. 他の設定はすべてデフォルトのままにし、変更を保存 をクリックします。

    Create Client Screenshot

ステップ 8: 認可サーバーのテスト

OAuth2 認可コードグラント

  1. OpenID Connect Debugger にアクセスし、以下の情報を入力します:

    • Authorize URI: http://localhost:8080/api/authorization
    • Client ID: ステップ 7 で控えたクライアント ID を入力します。
  2. Response typecode に設定し、Response modeform_post にします。

  3. (任意)PKCE をテストするには、Use PKCE チェックボックスを選択します。PKCE は Authlete サービスでデフォルトで有効になっています。

  4. 下にスクロールし、Send Request ボタンをクリックして認可プロセスを開始します。

    Create Client Screenshot

これにより、サンプル AS のログインページにリダイレクトされます。以下のクレデンシャルを入力し、Authorize をクリックします:

  • Login ID: max
  • Password: max

OIDC Debugger にリダイレクトされ、Authlete によって認可コードが発行されます。

Create Client Screenshot

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

  1. Start over をクリックしてホームページに戻ります。

  2. Response typeid_token に設定します。

  3. Send Request をクリックして新しい認可プロセスを開始します。

  4. Debugger にリダイレクトされ、Authlete によって ID トークンが発行されます。

    ID Token Screenshot

セキュリティ上の注意: ⚠️ このセットアップでは、ID トークンは client_secretHS256 アルゴリズムを使用して署名されています。この設定はデモ目的のみに使用してください。実際のアプリケーションでは、JSON Web Key (JWK) をアップロード し、RS256 のような非対称署名アルゴリズムを使用する必要があります。

以上です! 🎉 Authlete を使用した認可サーバーのセットアップおよびテストに成功しました。

この認可サーバーを使って、より高度な機能や設定を試してみましょう。:

  • 認可サーバーが使用している Authlete API の詳細については、API リファレンスドキュメント を参照してください:API ドキュメントを確認する