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?
機能 †
機能 †
- サインアップ
Register画面 -(Create)-> UserManagerExtension? -(CreateAsync?)-> UserManager?(UserManager?<TUser> (ApplicationUserContext?))-(SQL)->DB
2.0での新機能 †
- サインアップ
- 2段階認証
- アカウント確認
- パスワード検証のパワーアップ
- ユーザー名の重複不可設定
- 運用
- アカウントロックアウト
- パスワードリセット
- アカウント削除
資格情報へのアクセス †
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。)。
クラス †
テンプレートに実装されているクラス。
ユーザ管理 †
ApplicationUser? †
ユーザー情報を定義。IdentityUser?クラスを継承。
ApplicationDbContext? †
ユーザー情報をEntity Frameworkで扱うための定義。IdentityDbContext?クラスを継承。
UserManager?<ApplicationUser?> †
ApplicationUser?を管理するための定義。UserManager?<TUser>クラスを継承。
UserStore?<ApplicationUser?> †
情報の保管処理を抽象化するためのインターフェースを実装するクラス
各インターフェースを独自に実装すれば、データソースを変更できる。
- ユーザー情報用のIUserLoginStore?<TUser>インターフェース
- パスワード情報用のIUserPasswordStore?<TUser>インターフェース
サインイン †
画面 †
参考 †
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 †