OpenID ConnectのUserinfoエンドポイントについて

簡単なまとめ。関係ないけど、 “クレーム” って表現がすごく馴染めない…

リクエスト

  • クライアントはAccess Tokenを使ってGETでリクエストする。
  • OAuth 2.0 Bearer Token Usage に従ったリソース。
  • Access Token は Authorization ヘッダー経由で渡されるべき。

リクエストの例

 
GET /userinfo HTTP/1.1
Host: server.example.com
Authorization: Bearer SlAV32hkKG
 

成功時のレスポンス

  • JSON オブジェクトのメンバーとして返される
  • レスポンスボディは UTF-8 エンコードされる
  • Section2.5 の項目にないものも返却可能
  • sub は必須で、id_tokenのものと一致しているか検証しなければいけない
    • もし2つが一致しない場合, UserInfo Response を利用してはならない
  • レスポンスを返した OP(OpenID Provider) が意図した通りの OP であることを, TLS サーバー証明書チェックを通じて検証しなければならない

エラー時のレスポンス

OAuth 2.0 Bearer Token Usage [RFC6750] SEction 3 に示すError Response を返す