マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Finalを参照して記述。

  • Authorization Request に署名および暗号化を可能にする。
  • 具体的には、ココココのパラメタ群をJWTにして送信する。

詳細

(ClientからJWTを送信するという意味では、)
JWT bearer token authorizationグラント種別の亜種的仕様。

サポート

  • 要求をサポートしていない場合、それぞれ、
    • request_not_supported
    • request_uri_not_supported

エラーを返す。

パラメタ

Requestオブジェクトを利用する場合、

  • ココに書いた、request, request_uriパラメタに指定する。
  • 他のパラメタを送信するケースがある。
    • 送信する可能性のあるパラメタ
      • response_type, client_id (OAuth 2.0で必須)
      • scope="* openid *" (OIDCで必須)
      • state, nonce 等 (可変パラメタ対応)
  • この場合、Requestオブジェクト内のパラメタと重複しても良い
    (重複は一致すること。実際使用するのはRequestオブジェクト側)。

フォーマットとコンテンツ

概要

  • urlセーフなJWTである必要があるが、署名および暗号化のアルゴリズムは任意

ペイロードの例

以下は、ペイロードの例

 {
  "iss": "s6BhdRkqt3",
  "aud": "https://server.example.com",
  "response_type": "code id_token",
  "client_id": "s6BhdRkqt3",
  "redirect_uri": "https://client.example.org/cb",
  "scope": "openid",
  "state": "af0ifjsldkj",
  "nonce": "n-0S6_WzA2Mj",
  "max_age": 86400,
  "claims":
   {
    "userinfo":
     {
      "given_name": {"essential": true},
      "nickname": null,
      "email": {"essential": true},
      "email_verified": {"essential": true},
      "picture": null
     },
    "id_token":
     {
      "gender": null,
      "birthdate": {"essential": true},
      "acr": {"values": ["urn:mace:incommon:iap:silver"]}
     }
   }
 }

送信方法

requestパラメタ

  • 認可リクエストの例
    https://server.example.com/authorize?
       response_type=code%20id_token
       &client_id=s6BhdRkqt3
       &scope=openid
       &state=af0ifjsldkj&nonce=n-0S6_WzA2Mj
       &request=Requestオブジェクト

request_uriパラメタ

  • 512 ASCII 文字
  • Authorization Serverからのアクセスに限定する。
    • ライフタイムに応じた適切なエントロピー、
    • 若しくは、なんらかのアクセスコントロールの実施。
  • パラメタの例
    https://client.example.org/request.jwt#GkurKxf5T0Y-mnPFCHqWOMiZi4VS138cQO_V7PZHAdM
    ※ URIフラグメントは、キャッシュに使用するペイロードのSHA-256ハッシュのBase64URL値
  • 認可リクエストの例
    https://server.example.com/authorize?
       response_type=code%20id_token
       &client_id=s6BhdRkqt3
       &scope=openid
       &state=af0ifjsldkj&nonce=n-0S6_WzA2Mj
       &request_uri=https%3A%2F%2Fclient.example.org%2Frequest.jwt%23GkurKxf5T0Y-mnPFCHqWOMiZi4VS138cQO_V7PZHAdM
  • Requestオブジェクトのリクエスト例
    GET /request.jwt HTTP/1.1
     Host: client.example.org

参考

JWT bearer token authorizationグラント種別

ClientからOP(IdP/STS)にJWTを送るという意味では似ている。

JWT Secured Authorization Request (JAR)

別途、仕様に書き起こしたもの(FAPI2でも使用するので)。


Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-10-12 (金) 12:17:09 (6d)