Open棟梁Project - マイクロソフト系技術情報 Wiki
OAuthのクレームベース認証のEndpoint追加をサポートしており、
これにより、Java、JavaScript、Perl、PHP、Python、Rubyなどの
「非 .NET 環境」と認証処理を連携させることもできる。
この処理は、ASP.NET SPAテンプレートの以下のエンドポイントに実装されている。
ここでは、
ここでは、以下のような前提のアプリケーションを構築するサンプルを示す。
#ref(): File not found: "goal.png" at page "ASP.NET IdentityのToken 認証"
コードの提示はGithub登録まで待ってください。
Install-Package Microsoft.AspNet.WebApi Install-Package Microsoft.AspNet.WebApi.Owin Install-Package Microsoft.AspNet.WebApi.Cors
Providersフォルダを作成し、OAuthのProviderであるApplicationOAuthProvider?を追加する。
ClientIDによってRedirectする先を変更している。
前述のApplicationOAuthProvider?をOAuthのProviderとして登録する。
これにより、OAuthのBearer Tokenを使用して、Resourcesアクセスを認可できるようになる。
Authorizeメソッド実行後にRedirectされる先のAction MethodとViewを準備する。
App_Startフォルダに、ASP.NET Web APIの設定を行うためのWebApiConfig?.csを追加する。
Global.asax.csのApplication_Startメソッドで、定義したWebApiConfig?の設定を登録。
Models フォルダに、Claimを返すためのOAuthClaimViewModel?.csを追加する。
Controller フォルダに、Claimを返すためのOAuthResourceController?.csを追加する。
ここに、Claim等のOAuthのResourcesを返すためのASP.NET Web APIのメソッドを追加する。
+--------+ +---------------+ | |--(A)- Authorization Request ->| Resource | | | | Owner | | |<-(B)-- Authorization Grant ---| | | | +---------------+ | | | | +---------------+ | |--(C)-- Authorization Grant -->| Authorization | | Client | | Server | | |<-(D)----- Access Token -------| | | | +---------------+ | | | | +---------------+ | |--(E)----- Access Token ------>| Resource | | | | Server | | |<-(F)--- Protected Resource ---| | +--------+ +---------------+
ASP.NET Identityによる認証サイト
= Resource Owner, Authorization Server, Resource Server
Tags: :ASP.NET, :ASP.NET MVC, :ASP.NET SPA, ASP.NET Web API, :ASP.NET Identity
Special thanks go to maegawa-san for his support.