[[Open棟梁>https://github.com/OpenTouryoProject]] wiki -[[戻る>機能一覧]] *目次 [#d0290066] #contents *概要 [#v892487b] -[[ASP.NET Identity>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity]]を使用した認証サイト。 -Multi-AuthSystemと略してしまったので、多要素認証と間違いそうだが、これは、~ Multi-purpose Authentication System(汎用 認証Webサイト)の略なので注意。 *機能 [#l0fbeeec] **基本機能 [#v4d79655] ***サインアップ [#nb276cbf] ***サインイン [#fd536abd] ***サインアウト [#e290f1a6] ***アカウント編集 [#ecff0c5d] -パスワード変更 -電話番号 -2要素認証のON/OFF -外部ログイン --一覧 --削除 **サインアップの機能強化 [#l587545c] ***ユーザ名の重複不可設定 [#g09b0af4] ***パスワード検証 [#k9eda18a] ***2要素認証 [#cebac42b] 以下で使用される。 -アカウント確認(E-mail confirmation) -アカウント編集(電話番号、SMS) -パスワード・リセット(E-mail) ***アカウント確認(E-mail confirmation) [#x0dd4b62] **サインインの機能強化 [#i099001e] ***[[SecurityStamp>#p0771abf]] [#x6408770] ***[[外部ログイン>#s240b64d]] [#mb5c5f6a] ***[[セキュアトークンサービス(STS)>#xbeb249b]] [#y8780a4c] **運用の機能強化 [#v463d11f] ***アカウント・ロックアウト [#u8f7dafc] ***パスワード・リセット [#o566821e] ***管理機能 [#e8fd04cd] -ユーザ編集・削除 -ロール編集・削除 -&color(red){注}; --編集可能なユーザ属性が少ない(現状、Name = E-mailのみ編集可能) --データ量が多い場合に耐えられない実装になっている(ページング実装無し)。 --マルチテナント対応の無い実装になっている。 *[[独自仕様部分の説明>Multi-AuthSystem独自仕様]] [#mc7a582e] **[[Idp仕様>Multi-AuthSystem独自仕様#c803a92a]] [#g7c92f37] **[[外部認証仕様>Multi-AuthSystem独自仕様#q865b16d]] [#w9a074ed] **[[OAuth2.0 Server仕様>Multi-AuthSystem独自仕様#q3ec8431]] [#ic9a1dd8] *[[関連する機能>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E8%AA%8D%E8%A8%BC%E5%9F%BA%E7%9B%A4#le742d2a]] [#le742d2a] *メモ [#q3599cb7] **[[SecurityStamp>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity#obd1b0ed]] [#p0771abf] 詳しくは[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity#obd1b0ed]]を参照。 **[[外部ログイン>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AE%E5%A4%96%E9%83%A8%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3]] [#s240b64d] -[[クレームベース認証>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%AF%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%99%E3%83%BC%E3%82%B9%E8%AA%8D%E8%A8%BC]] による認証・認可の仕組みを使用する。 -詳しくは[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AE%E5%A4%96%E9%83%A8%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3]]を参照。 ***ExternalLoginCallbackの条件分岐 [#a1c25645] +外部ログインの成否 --失敗(異常終了) --成功、(2)へ。 +外部ログインの有・無 --外部ログインがある→そのままサインイン(正常終了) --外部ログインがない→外部ログインの作成、(3)へ。 +外部ログインの作成 --当該ユーザが既にサインアップされている。~ → 外部ログインを追加してサインイン(正常終了) --当該ユーザが未だサインアップされていない。~ → サインアップ後に外部ログインを追加してサインイン(正常終了) #外部ログイン追加、サインアップ、サインインの成否は省略。 ***外部ログイン削除のテストケース [#g85cf676] -サインアップ→サインアップ済みの状態から外部ログイン ++内部ログイン→内部ログアウト ++外部ログイン追加(外部ログイン)→外部ログアウト ++外部ログイン→外部ログイン削除→★→外部ログアウト ++外部ログイン追加(外部ログイン)→外部ログアウト ++外部ログイン→外部ログイン削除→★→外部ログアウト ++内部ログイン→内部ログアウト(外部ログイン削除後も、内部ログインは可能) -サインアップせずに、外部ログイン ++外部ログイン追加(外部ログイン)→外部ログアウト ++外部ログイン→☆外部ログイン削除→外部ログアウト ++外部ログイン追加(外部ログイン)→外部ログアウト -外部ログイン削除のポイント --★の外部ログイン削除後のタイミングで、ログアウトしていないのは、~ 代替のログイン手段を持っているため問題無いという認識。 --☆サインアップしていない場合に、外部ログインの削除ができなかった。~ (削除によりログイン手段を持たない状態になるのに、ログインしている状態になってしまうため)~ 試しに外部ログイン✕2の状態でテストした所、外部ログインの削除が可能であることを確認できた。 **[[セキュアトークンサービス(STS)>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AB%E3%82%88%E3%82%8BSTS%E5%AE%9F%E8%A3%85]] [#xbeb249b] -[[クレームベース認証>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%AF%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%99%E3%83%BC%E3%82%B9%E8%AA%8D%E8%A8%BC]] による認証・認可の仕組みを使用する。 -詳しくは以下を参照のこと。 --[[OAuth - マイクロソフト系技術情報 Wiki>https://techinfoofmicrosofttech.osscons.jp/index.php?OAuth]] --[[ASP.NET IdentityによるSTS実装 - マイクロソフト系技術情報 Wiki>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AE%E5%A4%96%E9%83%A8%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3]]を参照。 **他サイトとの連携機能 [#e5a32341] ***.NET [#n09fe39d] [[ASP.NET Identity>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity]]を使用して連携できる(データストアは共有する)。 ***その他 [#y46826d4] 前述の「[[セキュアトークンサービス(STS)>#xbeb249b]]」を使用して連携する。