はじめに
本記事では、複数の開発者がそれぞれクライアントアプリ開発者コンソールへのログインアカウントを持ち、各人が個別にクライアント情報を管理するための、Web API の実装と Authlete の設定について説明します。Web API の実装
Authlete は、クライアントアプリ開発者コンソールのログイン ID とパスワードの検証、そしてアクセス資格確認を、外部の Web API に移譲できます。この Web API は少なくとも以下の処理を行う必要があります。- Authlete からリクエストを受信
- Authorization ヘッダーの検証
- ID/パスワードからユーザーを識別
- Authlete サービスへのアクセス資格の確認
- Authlete 内のユーザー識別子・表示名の決定
- Authlete にレスポンスを返却

Authlete サービスの設定
Authlete のサービス管理者コンソールにて、対象の Authlete サービスに対して、外部の Web API に接続するための情報を設定します。| タブ | 項目 | 値 |
|---|---|---|
| 開発者認証 | 開発者認証コールバックエンドポイント | Web API のエンドポイント URL |
| 開発者認証 | 開発者認証コールバック API キー | API アクセス時の Basic 認証のための API キー |
| 開発者認証 | 開発者認証コールバック API シークレット | API アクセス時の Basic 認証のための API シークレット |

「開発者認証」タブに表示される「SNS」関連の設定は deprecated となっており、利用できません。以上により、対象の Authlete サービスは、クライアントアプリ開発者コンソールへのログインについて、ID / パスワードの照合とアクセス資格確認を Web API に移譲するようになります。
実行例
ここでは、お客さまの環境において、クライアントアプリ開発者を次のように管理しているとします。- ユーザー情報
| ID | パスワード | ステータス | グループ |
|---|---|---|---|
| test1 | test1 | active | Dev 01 |
| test2 | test2 | active | Dev 01 |
| test3 | test3 | active | Dev 02 |
| test4 | test4 | suspended | Dev 02 |
- グループ情報
| グループ | Authlete 内でのユーザー識別子 | Authlete 内でのユーザー表示名 | ステータス |
|---|---|---|---|
| Dev 01 | dev01 | Developer Group 01 | active |
| Dev 02 | dev02 | Developer Group 02 | active |
例 1: test1/test1 でログイン
まず、クライアントアプリ開発者コンソールにて、ユーザーが test1/test1 でログインを試みたとします。


例 2: test2/test2 でログイン
次に、クライアントアプリ開発者コンソールからログアウトし、test2/test2 でログインを試みたとします。
Authlete サービスが Web API に送信するリクエストは以下のようになります。

例 3: test3/test3 でログイン
それでは、グループの異なる ID でログインした場合はどうなるでしょうか。クライアントアプリ開発者コンソールからログアウトし、test3/test3 でログインを試みたとします。

例 4: test4/test4 でログイン
最後に、test4/test4 でログインを試みた場合です。\
