「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
ASP.NET Identityの、OAuth 2.0によるセキュアトークンサービス(STS)のEndpoint追加実装。
OAuth2.0 Server、Client共に以下からダウンロード可能。
このサンプルは、VS2013・2015で、そのままF5実行可能で非常に便利。
ダウンロードしたサンプルを使用して、以下のシナリオの検証ができる。
AuthenticateResult ticket = this.AuthenticationManager.AuthenticateAsync(DefaultAuthenticationTypes.ApplicationCookie).Result; ClaimsIdentity identity = (ticket != null) ? ticket.Identity : null;
this.AuthenticationManager.SignIn(identity);
ClaimsIdentity identity = await userManager.CreateIdentityAsync( user, DefaultAuthenticationTypes.ExternalBearer);
context.Validated(identity);
identity.AddClaim(new Claim("urn:oauth:scope", scope));
「技術文書中での Shall / Should / May」があるため、
サービス / ミドルウェア毎に仕様は異なってくる。以下が参考になる。
やはり、サービスによって扱いがマチマチなのは、
redirect_uriパラメタとstateパラメタであるもよう。
<system.web> <machineKey decryptionKey="Enter decryption Key here" validation="SHA1" validationKey="Enter validation Key here" /> </system.web>
machineKeyセクションの生成には、以下のツールが使えそう。
This tool allows you to generate random keys for validation and encryption/decription of the view state.
このコンテンツは以下の様な構成になっている。
以下から、サンプル・コードをダウンロードできる。
アクセストークンによって保護されたResource ServerのEndpointを作成。
.NETクライアント・アプリからHTTPアクセスする際のライブラリとしては、DotNetOpenAuth.OAuth2を使用している。
実装方法の調査で参照にしたサイト。
Tags: :.NET開発, :ASP.NET, :ASP.NET MVC, :ASP.NET SPA, ASP.NET Web API, :ASP.NET Identity, :OAuth, :認証基盤, :セキュリティ