Skip to main content

はじめに

Authlete を用いて OpenID Connect 仕様に従いユーザー属性情報を提供するには、アイデンティティ・プロバイダー (OpenID Provider; OP) がその情報をどのように取り扱うかを考慮し、ID トークンを用いる場合にはどのエンドポイントから返却するか、あるいは ID トークンではなく UserInfo エンドポイントを用いるかを選択します。

ユーザー属性情報の提供方式

Authlete はユーザー属性情報の提供方式として以下の 3 つをサポートします。
※ EP: エンドポイント
user-attributes-2_ja Providing ID Token from Token EP user-attributes-1_ja Providing ID Token from Authorization EP user-attributes-3_ja Providing response from Userinfo EP

方式選択の考えかた

  • 基本的に、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
    • Authlete のオンプレミス向けパッケージ を導入し、お客さまにて運用する。
  • また別の観点として、運用上の要件からインプリシットフローのサポートや UserInfo EP の提供が望ましくない場合には、認可コードを用いて、かつトークン EP から ID トークンとして、ユーザー属性情報を返却する方式を選ぶことになります。

補足情報