「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>OAuthによる外部ログイン(認証)の研究]] * 目次 [#n69bb58b] #contents *概要 [#fe00a351] -[[JWT]]を使う[[OAuth]] 2.0についての纏め。 -[[OAuth]] 2.0のセキュリティ上の解題を解決し認証での利用を可能にする。 *[[JWT]]アサーションを使用 [#y9c24d21] **概要 [#s2e7f5ab] -[[ASP.NET Identity]]のAccess Tokenはカスタマイズが可能。 -そこで、Access Tokenを[[JWT]]アサーションに変更する。 **参考 [#abcaa4fd] -詳しくは、[[コチラ>ASP.NET IdentityのOAuthによるSTS実装#a0f5b8a7]]を参照。 *[[OpenID Connect]] [#cd3ff39c] **概要 [#c6a16225] [[OpenID Connect]]では、Access Tokenではなく[[ID Token>OpenID Connect#ofb73c59]]に[[JWT]]を使用している。 **参考 [#baf5a1a4] -[[OpenID Connect]] *JWT Bearer Token Flow [#f5007063] **概要 [#c700ab65] -[[GoogleやMicrosoft、SalesforceなどのWebAPI認証の方式として採用されているもよう>WebAPIの認証#p99216b3]]。 -事前に信頼関係を構築できるシステムからAPI接続する場合に有効な方法らしい。 **具体的なフロー [#s17db5fe] -[[JWT]]作成のための証明書を生成 or 取得する。 -証明書をClient側とResource Server側に登録する。 -Clientで[[JWT]]を作成し、Resource Serverに送信してAccess Token(Bearer Token)を取得する。 -Clientから、Access Token(Bearer Token)を使用してResource Serverにアクセスする。 **参考 [#uea38a81] -RFC 7523 - JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants~ https://tools.ietf.org/html/rfc7523 *OAuth2.0 Proof of Possession [#u8ebfddc] **概要 [#u06d5989] -Access Tokenを[[JWT]]アサーションで発行する系のドラフト。 -[[OAuth]] 2.0に近い[[OpenID Connect]]と比べると、いくぶんか複雑らしい。 **参考 [#u43bc76c] -draft-ietf-oauth-pop-architecture-08~ OAuth 2.0 Proof-of-Possession (PoP) Security Architecture~ https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture-08 ***その他 [#e3ae92b8] -OAuth2.0 Proof of Possession についてまとめてみた - hiyosi's blog~ https://hiyosi.tumblr.com/post/121441878998/oauth20-proof-of-possession-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%81%BF%E3%81%9F -RFC7636として発行されたOAuth PKCEとは - r-weblife~ http://d.hatena.ne.jp/ritou/20151018/1445181974 ---- Tags: [[:認証基盤]], [[:ASP.NET Identity]], [[:OAuth]]