「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †
※ よくよく見ると、JWT Secured Authorization Request (JAR)(リクエスト)のレスポンス版である。 詳細 †
Discovery / Registration †Discovery †response_modes_supportedパラメタで をアドバタイズ Registration †Client metadataを登録。 Metadata †Client metadata †Clientが、JWT の署名・暗号にどのアルゴリズムを使用して欲しいかを指定。
AuthZ metadata †AuthZがサポートするJWT の署名・暗号アルゴリズムを列挙。
response_mode †query.jwt †HTTP/1.1 302 Found Location: https://client.com/callback?response={JWT} fragment.jwt †HTTP/1.1 302 Found Location: https://client.example.com/cb#response={JWT} form_post.jwt †HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Cache-Control: no-cache, no-store Pragma: no-cache <html> <head><title>Submit This Form</title></head> <body onload="javascript:document.forms[0].submit()"> <form method="post" action="https://client.example.com/cb"> <input type="hidden" name="response" value="{JWT}"/> </form> </body> </html> jwt †
response_type †上記の{JWT}には、以下のペイロードを署名してJWS化したものを入れる。 code †{ "iss":"https://accounts.example.com", "aud":"s6BhdRkqt3", "exp":1311281970, "code":"PyyFaux2o7Q0YfXBU32jhw.5FXSQpvr8akv9CeRDSd0QA", "state":"S8NJ7uqk5fY4EjNvP_G_FtyJu6pUsvH9jsYni9dMAJw" } token †{ "iss":"https://accounts.example.com", "aud":"s6BhdRkqt3", "exp":1311281970, "access_token":"2YotnFZFEjr1zCsicMWpAA", "state":"S8NJ7uqk5fY4EjNvP_G_FtyJu6pUsvH9jsYni9dMAJw", "token_type":"bearer", "expires_in":"3600", "scope":"example" } error †{ "error":"access_denied", "state":"S8NJ7uqk5fY4EjNvP_G_FtyJu6pUsvH9jsYni9dMAJw" } 実装に関する考察。 †ベースライン †
code (authorization code) †
token (Implicit, Hybrid) †
参考 †
インフル諸兄 †TakahikoKawasaki? †
ritou †
関連仕様 †OAuth 2.0 Form Post Response Mode †OAuth 2.0 Multiple Response Type Encoding Practices †OpenID Connect - Discovery †OpenID Connect - Dynamic Client Registration †FAPI Part 2 (Read and Write API Security Profile) †Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth |