[[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 認証)>#xbeb249b]]」を使用して連携する。

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