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 を返す