- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁>https://github.com/OpenTouryoProject]] wiki
-[[戻る>機能一覧]]
*目次 [#d0290066]
#contents
*概要 [#v892487b]
[[ASP.NET Identity>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity]]を使用した認証サイト。
*機能 [#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 (済) [#x6408770]
***[[外部ログイン>#s240b64d]] (済) [#mb5c5f6a]
***[[Web API 認証 (Token 認証)>#xbeb249b]](済) [#y8780a4c]
**運用の機能強化 [#v463d11f]
***アカウント・ロックアウト (済) [#u8f7dafc]
***パスワード・リセット (済) [#o566821e]
***管理機能 (済) [#e8fd04cd]
-ユーザ編集・削除 (済)
-ロール編集・削除 (済)
-&color(red){注};
--編集可能なユーザ属性が少ない(現状、Name = E-mailのみ編集可能)
--データ量が多い場合に耐えられない実装になっている(ページング実装無し)。
--マルチテナント対応の無い実装になっている。
*[[関連する機能>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E8%AA%8D%E8%A8%BC%E5%9F%BA%E7%9B%A4#le742d2a]] [#le742d2a]
*メモ [#q3599cb7]
**[[外部ログイン>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%AEToken%20%E8%AA%8D%E8%A8%BC]]を参照。
***ExternalLoginCallbackの条件分岐 [#a1c25645]
+外部ログインの成否
--失敗(異常終了)
--成功、(2)へ。
+外部ログインの有・無
--外部ログインがある→そのままサインイン(正常終了)
--外部ログインがない→外部ログインの作成、(3)へ。
+外部ログインの作成
--当該ユーザが既にサインアップされている。~
→ 外部ログインを追加してサインイン(正常終了)
--当該ユーザが未だサインアップされていない。~
→ サインアップ後に外部ログインを追加してサインイン(正常終了)
#外部ログイン追加、サインアップ、サインインの成否は省略。
***外部ログイン削除のテストケース [#g85cf676]
-サインアップ→サインアップ済みの状態から外部ログイン
++内部ログイン→内部ログアウト
++外部ログイン追加(外部ログイン)→外部ログアウト
++外部ログイン→外部ログイン削除→★→外部ログアウト
++外部ログイン追加(外部ログイン)→外部ログアウト
++外部ログイン→外部ログイン削除→★→外部ログアウト
++内部ログイン→内部ログアウト(外部ログイン削除後も、内部ログインは可能)
-サインアップせずに、外部ログイン
++外部ログイン追加(外部ログイン)→外部ログアウト
++外部ログイン→☆外部ログイン削除→外部ログアウト
++外部ログイン追加(外部ログイン)→外部ログアウト
-外部ログイン削除のポイント
--★の外部ログイン削除後のタイミングで、ログアウトしていないのは、~
代替のログイン手段を持っているため問題無いという認識。
--☆サインアップしていない場合に、外部ログインの削除ができなかった。~
(削除によりログイン手段を持たない状態になるのに、ログインしている状態になってしまうため)~
試しに外部ログイン✕2の状態でテストした所、外部ログインの削除が可能であることを確認できた。
**[[Web API 認証 (Token 認証)>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AEToken%20%E8%AA%8D%E8%A8%BC]] [#xbeb249b]
-OAuth 2.0 の Bearer Token による認証・認可の仕組みを使用する。
-詳しくは[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity%E3%81%AEToken%20%E8%AA%8D%E8%A8%BC]]を参照。
**他サイトとの連携機能 [#e5a32341]
***.NET [#n09fe39d]
[[ASP.NET Identity>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Identity]]を使用して連携できる(データストアは共有する)。
***その他 [#y46826d4]
Web API 認証 (Token 認証) を使用して連携する。
前述の「[[Web API 認証 (Token 認証)>#xbeb249b]]」を使用して連携する。