Skip to content

Openid connect specs basic

ritou edited this page Mar 9, 2013 · 1 revision

OpenID Connect Basic Client Profile

OAuth 2.0との差分を中心にしたメモ http://openid.net/specs/openid-connect-basic-1_0-24.html

Authorization Request

OAuth 2.0 Authorization Code Grantのパラメータ

  • response_type : 必須
  • client_id : 必須
  • scope : 必須
  • redirect_uri : 必須 OPに事前登録したものである必要がある
  • state : 推奨 XSRF対策

OpenID Connectで追加されるパラメータ

  • nonce : 任意 この値がid_tokenに含まれる。リプレイアタック対策
  • display : 任意
  • prompt : 任意
  • none : 画面表示なし
  • login
  • consent
  • select_account
  • max_age : 任意 n秒以内に認証したユーザーを要求する際に指定。auth_timeがid_tokenに含まれる
  • ui_locales : 任意 画面表示に使われる言語などの指定
  • claims_locales : 任意 claimsに使われる言語などの指定
  • id_token_hint : 任意 prompt=noneの時に利用される値
  • login_hint : 任意 ユーザー認証時のヒントとなるemailなどの値。Discoveryに利用した値を推奨.
  • acr_values : 任意 必要な認証強度

scope

  • openid : 必須
  • profile : 任意 以下のクレームを要求
  • name
  • family_name
  • given_name
  • middle_name
  • nickname
  • preferred_username
  • profile
  • picture
  • website
  • gender
  • birthdate
  • zoneinfo
  • locale
  • updated_time
  • email : 任意 以下のクレームを要求
  • email
  • email_verified
  • address : 任意 以下のクレームを要求
  • address
  • phone : 任意 以下のクレームを要求
  • phone_number
  • offline_access : 任意 refresh_tokenを要求するときに指定

Authorization Response

変更なし

Access Token Response

  • access_token : 必須
  • token_type : 必須
  • id_token : 必須
  • expires_in : 任意
  • refresh_token : 任意

ID Token

以下の値をJWT形式にて。

  • iss : 必須 OP識別子
  • sub : 必須 ユーザー識別子
  • aud : 必須 client_id
  • azp : 任意 id_tokenを要求するRPとid_tokenのaudが一致しない場合のみ必要
  • exp : 必須 有効期限のタイムスタンプ
  • iat : 必須 発行日時のタイムスタンプ
  • auth_time : Authorization Requestにmax_ageが含まれるときは必須 ユーザー認証時のタイムスタンプ
  • acr : 任意 認証強度など
  • amr : 任意 認証方式など