「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
OAuth 2.0のAccess TokenをJWT(JWS) Bearer Tokenを使用して要求する方法の定義。
以下のClaimが必要だが、IDトークンが参考になる。
urn:ietf:params:oauth:grant-type:jwt-bearer
JWT(JWS)
[RFC7521]で定義されているのと同じ。
クライアント認証は、オプション
POST /token.oauth2 HTTP/1.1 Host: as.example.com Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code& code=n0esc3NRze7LTCu7iYzS6a5acc3f0ogp4& client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer& client_assertion=...JWS...
POST /token.oauth2 HTTP/1.1 Host: as.example.com Content-Type: application/x-www-form-urlencoded
grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer& assertion=...JWS...
以下を見ると、
通常のOAuth 2.0の
以外に、
クライアント証明書(pfx形式の電子証明書)を使って、
サービスアカウントで認証する方法がある模様。
ちなみに、ここでは、Google.Apis.Analytics Client Libraryに
処理がラッピングされていたため。詳細が不明だったが、
以下を見ると、このClient Libraryの中では、JWTが使用されている模様。
これが、
「JWT bearer token authorizationグラント種別」
の用例である模様。
上記のサイトには、
Service Accounts = JWT Bearer Token Profile
であることが明記されている。
Googleと同様に、以下を見ると、
通常のOAuth 2.0の
以外に、
「JWT bearer token authorizationグラント種別」
をサポートしている模様。
ただし、処理は、ADAL(Active Directory Authentication Library)
にラップされているためJWT作成処理の詳細などを見ることは出来ない。
以下のQiita記事を参照すると、Salesforceは、
の2つのフローをサポートしている模様。
Tags: :認証基盤, :クレームベース認証, :OAuth