- パフォーマンス
- オンプレミス
-
セキュリティ
- ユーザー属性情報の提供方式と、各方式における Authlete の処理方法
- Authlete サービスの JWK セット設定
- OAuth / OIDC クライアントの JWK セット設定
- 既存システムからの移行
- ネットワーキング
- API ゲートウェイとの連携
- クライアントアプリ開発者コンソール
ユーザー属性情報の提供方式と、各方式における Authlete の処理方法
はじめに
Authlete を用いて OpenID Connect 仕様に従いユーザー属性情報を提供するには、アイデンティティ・プロバイダー (OpenID Provider; OP) がその情報をどのように取り扱うかを考慮し、ID トークンを用いる場合にはどのエンドポイントから返却するか、あるいは ID トークンではなく UserInfo エンドポイントを用いるかを選択します。
ユーザー属性情報の提供方式
Authlete はユーザー属性情報の提供方式として以下の 3 つをサポートします。
※ EP: エンドポイント
提供方式 |
トークン EP から ID トークンとして提供 |
認可 EP から ID トークンとして提供 |
Userinfo EP からレスポンスとして提供 |
認可リクエストのパラメーター |
response_type に code、scope に openid を含む |
response_type に id_token を含む |
N/A |
Authlete API |
|||
処理の概要 |
認証リクエストを受けた OP は、Authlete に対し、パラメーターのひとつとしてユーザー情報を含めて、レスポンス生成を依頼する。 Authlete は認可コード生成と同時に、受け取ったユーザー属性を含む ID トークンを生成し保管する。そしてトークン EP において、認可コードと引き換えに ID トークンを返却する |
認証リクエストを受けた OP は、Authlete に対し、パラメーターのひとつとしてユーザー情報を含めて、レスポンス生成を依頼する。 Authlete は受け取ったユーザー属性を含む ID トークンを生成し返却する |
UserInfo リクエストを受けた OP は、Authlete に対し、パラメーターのひとつとしてユーザー情報を含めて、レスポンス生成を依頼する。 Authlete は受け取ったユーザー属性を含むレスポンスを生成し返却する |
ユーザー属性の保持の有無 |
有。Authlete はユーザー属性を含む ID トークンを暗号化し、一時的にデータベースに格納する。ID トークンは有効期限切れの認可コードがクリーンアップされるまで保持される |
無。Authlete はユーザー属性を保持しない |
無。Authlete はユーザー属性を保持しない |
OP の構成 |
認可 EP とトークン EP を実装。それぞれのバックエンドとして Authlete を利用する |
認可 EP を実装。バックエンドとして Authlete を利用する |
左記の EP に加えて Userinfo EP を実装。バックエンドとして Authlete を利用する |



方式選択の考えかた
-
基本的に、Authlete は OP から受け取ったユーザー属性情報を長期間保持することはありません。
- 認可 EP や UserInfo EP から提供する場合には、レスポンスを返却後、すぐにメモリ上から削除されます。
- トークン EP から提供する場合には、認可コードの有効期限が切れてクリーンアップ処理が実行された段階で、データベース内から削除されます。
- 一時的かつ暗号化されているとしても Authlete のデータベースにユーザー属性情報を格納することが許容できない場合には、認可 EP もしくは Userinfo EP を用いることになります。
- もしさらに厳しい要件があり、Authlete API にユーザー属性情報を渡すことも許されない場合には、以下をご検討ください。
- UserInfo EP からユーザー属性情報を提供する際に、Authlete にはアクセストークンの解析のみを依頼し、レスポンス自体は OP にて生成する。 具体的には、UserInfo リクエストを受け取った OP は以下の処理を行う。
- /auth/userinfo API を呼び出してリライングパーティが求めているユーザー属性情報を把握する。
- 次に、/auth/userinfo/issue API を利用せずに、仕様に従いレスポンスを生成する。
user-attributes-4_ja.png 49.47 KB
- Authlete のオンプレミス向けパッケージを導入し、お客さまにて運用する。
- UserInfo EP からユーザー属性情報を提供する際に、Authlete にはアクセストークンの解析のみを依頼し、レスポンス自体は OP にて生成する。 具体的には、UserInfo リクエストを受け取った OP は以下の処理を行う。
- また別の観点として、運用上の要件からインプリシットフローのサポートや UserInfo EP の提供が望ましくない場合には、認可コードを用いて、かつトークン EP から ID トークンとして、ユーザー属性情報を返却する方式を選ぶことになります。
補足情報
- OAuth 2.0 / OIDC 実装の新アーキテクチャー
How did we do with this article?