Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

ASP.NET Identityは、
OAuthクレームベース認証のEndpoint追加をサポートしており、
これにより、JavaScript などの「非 .NET 環境」と連携させることもできる。

この処理は、SPAテンプレートの以下のエンドポイントに実装されている。  

ここでは、

  1. SPAテンプレートの動作確認を行い、
  2. MVCテンプレートの差分を確認した上で、
  3. OAuthのEndpoint追加に必要な実装を抽出し、
  4. MVCテンプレートにOAuthのEndpointを追加する手順を書き出し、
  5. その手順の妥当性を以下の検証手順によって検証した。

検証手順

前提

ここでは、以下のような前提のアプリケーションを構築するサンプルを示す。

#ref(): File not found: "goal.png" at page "ASP.NET IdentityのToken 認証"

認証サイト

Web アプリ

開発環境

認証サイト開発

Github登録まで待ってください。

プロジェクトの準備

  1. Visual Studio 2015 で、新規 ASP.NET Web アプリケーションを作成する。
  2. 「新しい ASP.NET プロジェクト」ダイアログで、以下を選択する。
    • テンプレート: MVC
    • 認証の変更: 個別のユーザー アカウント
  3. Visual Studio の「パッケージ マネージャー コンソール」で、以下のコマンドを実行する。
    Install-Package Microsoft.AspNet.WebApi
    Install-Package Microsoft.AspNet.WebApi.Owin
    Install-Package Microsoft.AspNet.WebApi.Cors

ApplicationOAuthProvider?の追加

Providersフォルダを作成し、
OAuthのProviderであるApplicationOAuthProvider?を追加する。

Startup.Authで、UseOAuthBearerTokens?を実行

これにより、OAuth BearerToken?を使用してユーザーを認証できるようになる。

AccountControlle?に、Authorizeメソッドを追加

これにより、他システムからOAuthでToken認証できるようになる。

WebApiConfig?の追加

App_Startフォルダに、Web APIの設定を行うためのWebApiConfig?.csを追加する。

Global.Application_Startメソッドで、定義したWebApiConfig?を登録

Global.asax.csのApplication_Startメソッドで、定義したWebApiConfig?の設定を登録。

OAuthClaimViewModel?の追加

Models フォルダに、クレームを返すためのOAuthClaimViewModel?.csを追加する。

OAuthClaimController?の追加

Controller フォルダに、クレームを返すためのOAuthClaimController?.csを追加する。 ここに、クレームを返すためのWeb APIのメソッドを追加する。

HomeController?ActionMethod?とViewを追加

Authorizeメソッド実行後にRedirectされる先のActionMethod?とViewを準備する。

Web アプリ開発

参考


Tags: :ASP.NET, :ASP.NET Identity

Special thanks go to maegawa-san for his support.


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