Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
- フォーム認証ではなく、OWINの認証用ミドルウェア(Owin.Security)を使用している。
- 特に、ソーシャルログインを行う場合、OWINで提供されるライブラリを使用する必要がある。
- Microsoft.Owin.Security.OAuth
- Microsoft.Owin.Security.Facebook
- Microsoft.Owin.Security.Google
- Microsoft.Owin.Security.Twitter
- Microsoft.Owin.Security.MicrosoftAccount?
特徴 †
One ASP.NET Identity System †
ASP.NET frameworks ( ASP.NET MVC, Web Forms, Web Pages, Web API and SignalR ) で使用可能。
ユーザーに関するプロファイルデータを容易にプラグイン可能 †
Entity Frameworkのコードファーストを使用し、POCOクラスを拡張することが可能。
永続化の制御 †
- すべてのユーザー情報をデータベース内に格納
- Entity FrameworkのCodefirstを使用
- 別のストレージ・プロバイダーにプラグイン可能。
ユニットテスト容易性 †
シンプルなロールプロバイダ †
簡単に、「管理者」等のロールを作成し、ロールにユーザを追加ができる。
クレームベース認証 †
クレームベース認証をサポート
外部ログイン †
簡単に、マイクロソフトアカウント、FacebookやTwitterやGoogleなどの外部ログインを追加できる。
機能 †
機能 †
- サインアップ
Register画面 -(Create)-> UserManagerExtension? -(CreateAsync?)-> UserManager?(UserManager?<TUser> (ApplicationUserContext?))-(SQL)->DB
2.0での新機能 †
- サインアップ
- 2段階認証
- アカウント確認
- パスワード検証のパワーアップ
- ユーザー名の重複不可設定
- 運用
- アカウントロックアウト
- パスワードリセット
- アカウント削除
資格情報へのアクセス †
Entity Framework(Microsoft.AspNet??.Identity.EntityFramework?)が使用されており、
Entity Frameworkマイグレーションを使うことで、簡単にユーザー情報に項目を追加できる。
また、任意のストレージを使用するようにカスタマイズできる。
この際に、Entity Frameworkをキャンセルすることもできる。
ASP.NET Core †
- ASP.NET 5(ASP.NET Core)ではバージョン3.0になり、新たに実装しなおされた。
- バージョン2.xまでのOWINのパイプライン処理をベースとした実装ではなく、
ASP.NET 5(ASP.NET Core)のパイプライン処理をベースに実装されている。
- この結果、バージョン2.x向けに独自に実装したコードとの互換性が無くなった。
- ASP.NET 5(ASP.NET Core)でも既存コードを利用したい場合、
- バージョン3.0向けに再実装する必要がある。
- ただ、主要なAPIはそれほど変更されていないため、移植は比較的容易。
素組 †
OWIN が微妙ということであれば、下記のように、素組で実装できる
(ただし、プロトコルを理解して実装を行う必要がある。下記はOAuth。)。
参考 †
The ASP.NET Site †
ASP.NET Identity
http://www.asp.net/identity
msdn.microsoft.com †
.NET Web Development and Tools Blog †
Introducing ASP.NET Identity – A membership system for ASP.NET applications
https://blogs.msdn.microsoft.com/webdev/2013/06/27/introducing-asp-net-identity-a-membership-system-for-asp-net-applications/
Cutting Edge †
その他 †
ASP.NET Identity入門連載一覧:CodeZine?(コードジン) †
https://codezine.jp/article/corner/511
ASP.NET Identity カテゴリーの記事一覧 - kendik.net †
http://kendik.hatenablog.com/archive/category/ASP.NET%20Identity
Series: Owin Authentication « Passion for Coding †
https://coding.abel.nu/series/owin-authentication/
- What’s this Owin Stuff About?
- ASP.NET Identity and Owin Overview
- Understanding the Owin External Authentication Pipeline
- Writing an Owin Authentication Middleware
- Using Owin External Login without ASP.NET Identity
THE TRUTH IS OUT THERE †
かずきのBlog@hatena †
Qiita †