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

目次

概要

技術

以下の様な技術が使われている。

ベース クライアント セキュリティ モデル的な認証

OAuth

OpenID Connect

サーバー信頼モデル的な認証

証明書

JWT

OAuth 2.0 JWT Bearer Token Flow

SAML

OAuth 2.0 SAML Bearer Token Flow

用例

ベース クライアント セキュリティ モデル的な認証

認可を行う

OAuthダンスのOAuth 2.0 が主流である模様。

認証を行う

OAuth 2.0 や OpenID Connectが使われる。

サーバー信頼モデル的な認証

Twitterの例

ココを見ると解るが、

が必要になる。

このため以下の様な方式になっているものと考える。

Googleの例

以下を見ると、

通常のOAuth 2.0の

以外に、

クライアント証明書(pfx形式の電子証明書)を使って、
サービスアカウントで認証する方法がある模様。

ちなみに、ここでは、Google.Apis.Analytics Client Libraryに
処理がラッピングされていたため。詳細が不明だったが、

以下を見ると、このClient Libraryの中では、JWTが使用されている模様。

これが、

OAuth 2.0 JWT Bearer Token Flow(JWT Bearer Token Profile)

の用例である模様。

上記のサイトには、

Service Accounts = JWT Bearer Token Profile

であることが明記されている。

Microsoft (AzureAD) の例

Googleと同様に、以下を見ると、

通常のOAuth 2.0の

以外に、

OAuth 2.0 JWT Bearer Token Flow(JWT Bearer Token Profile)

をサポートしている模様。

ただし、処理は、ADAL(Active Directory Authentication Library)
にラップされているためJWT作成処理の詳細などを見ることは出来ない。

Salesforceの例

以下のQiita記事を参照すると、Salesforceは、

の2つのフローをサポートしている模様。

原理はほぼ同じで、SAMLよりJWTのほうが動作環境的な制約は少ないとのこと。

その他の例

IoT deviceの認証

Wio Node (Wio Link)

HCP (SAP HANA Cloud Platform)

Wio Linkの生成したToken(Query Stringに指定)に加えて、
HCPに登録・生成したDevice IDとOAuthのBearer TokenをAuthorizationヘッダに追加している。

実装例

ASP.NET Web APIの例

JWT形式のAccess TokenをFilterAttribute?で認証してClaimsPrincipal?を通じて連携する。
この場合、ASP.NETIdentityには依存すること無く認証を行うことができる。


Tags: :プログラミング, :通信技術, :.NET Core, :.NET Standard, :.NET Core, :ASP.NET, :ASP.NET Web API


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS