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

目次

概要

認可Request中のresponse_typeパラメタに新しいパラメタが追加された。

  • 「code, id_token, token の任意の組み合わせ」か、もしくは none、となった。
    OpenID Connect の登場により、この仕様が OAuth 2.0 に追加された)。

仕様

追加された値

none

ユーザーが市場からアプリケーションを購入したい場合など。

  • Clientが保護リソースへのアクセス許可を登録するようにAuthorization Serverに要求する。
  • その時点でClientに返されるアクセス資格情報を必要としない。
  • Clientが最終的にアクセス資格情報を取得する手段は、未定義。

id_token

Multiple-Valuedの中で使用される。

Multiple-Valued

  • 概要
    Implicitのレスポンスに追加のパラメタが付与されているイメージ。
  • 詳細
  • レスポンス・パラメタ
    • token_type(response_typeにtokenが含まれる場合)
    • access_token(response_typeにtokenが含まれる場合)
    • id_token(response_typeにid_tokenが含まれる場合)
    • code(response_typeにcodeが含まれる場合)

id_token token

OpenID ConnectImplicit Flowを参照。

  • 概要
    Implicitのレスポンスにid_tokenが付いてるイメージ。
  • リクエスト・レスポンスの例
  • リクエスト・ヘッダ
    GET /authorize?
       response_type=id_token%20token
       &client_id=s6BhdRkqt3
       &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
       &state=af0ifjsldkj HTTP/1.1
     Host: server.example.com
  • レスポンス・ヘッダ
     HTTP/1.1 302 Found
     Location: https://client.example.org/cb#
     access_token=SlAV32hkKG
     &token_type=bearer
     &id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
     &expires_in=3600
     &state=af0ifjsldkj

code token

OpenID ConnectHybrid Flowを参照。

  • 概要
    Implicitのレスポンス・パラメタにcodeが付いてるイメージ。
  • リクエスト・レスポンスの例
  • リクエスト・ヘッダ
     GET /authorize?
       response_type=code%20token
       &client_id=s6BhdRkqt3
       &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
       &state=af0ifjsldkj HTTP/1.1
     Host: server.example.com
  • レスポンス・ヘッダ
     HTTP/1.1 302 Found
     Location: https://client.example.org/cb#
       access_token=2YotnFZFEjr1zCsicMWpAA
       &token_type=Bearer
       &code=SplxlOBeZQQYbYS6WxSbIA
       &state=af0ifjsldkj
       &expires_in=3600

code id_token

OpenID ConnectHybrid Flowを参照。

  • code tokenのaccess_tokenが、id_tokenに変わったもの。
  • この場合、token_typeパラメタのレスポンスは不要。

code id_token token

OpenID ConnectHybrid Flowを参照。

  • code tokenのaccess_tokenに加え、id_tokenが追加される。

セキュリティ考慮事項

Query Stringにエンコード

Query StringはHTTP Refererヘッダから第三者に漏洩する。

  • codeをQuery Stringにエンコードすることは安全
  • その他のトークンはQuery Stringにエンコードしてはならない。
  • デフォルトの応答モードがフラグメントエンコーディングであるレスポンスは、
    Query Stringにエンコードされるべきではない(response_mode=query)。

参考

OAuth 2.0 Form Post Response Mode

JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)


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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-12-18 (火) 11:59:07 (23h)