汎用認証サイトのファーストステップガイド (1)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>汎用認証サイトのファーストステップガイド]]
--ファーストステップ (1)
--[[ファーストステップ (2)>汎用認証サイトのファーストステ...
--[[ファーストステップ (3)>汎用認証サイトのファーストステ...
--[[ファーストステップ (4)>汎用認証サイトのファーストステ...
--[[ファーストステップ (5)>汎用認証サイトのファーストステ...
--[[ファーストステップ (6)>汎用認証サイトのファーストステ...
--[[ファーストステップ (7)>汎用認証サイトのファーストステ...
*目次 [#j9e4c8e8]
#contents
*概要 [#d0cd2bd9]
[[汎用認証サイト(Multi-purpose Authentication Site)]]~
の導入前の評価を行うためのファーストステップガイド。
*(1) 前提 [#c28f8d88]
**[[ターゲット&ポジション>汎用認証サイト(Multi-purpose ...
**v01-95時点の前提環境 [#b9dba1e7]
-Visual Studio 2019
-ランタイム
--.NET Framework 4.8
--.NET Core 3.0
-データ・ストア
--メモリストア~
検証ではストレージは不要
--RDBMS
---SQL Server
---[[Oracle>https://techinfoofmicrosofttech.osscons.jp/in...
---[[PostgreSQL>https://techinfoofmicrosofttech.osscons.j...
--NoSQL、LDAP~
未実装だが、基本的にSTS専用モードで使用することを想定。
*(2) 一式のダウンロードとセットアップ [#z97dcc62]
[[コチラ>部会メモ#n79cc0a7]]を参照。
*(3) [[app.config>https://github.com/OpenTouryoProject/Mu...
以下の項目を設定する。
**Administrator(システム管理者のアカウント) [#z8dbd98b]
[[システム管理者のアカウントを入力する>汎用認証サイトのコ...
-[[UserNameがEmailかどうか>汎用認証サイトのコンフィギュレ...
-[[ユーザ名検証(既定のユーザ名は、E-mail>汎用認証サイト...
-[[パスワード検証(8文字以上の大文字・小文字、数値、記号>...
**登録されるテストユーザのpassword [#bc6a1b41]
-[[テスト用に登録される下記テストユーザのパスワード>汎用...
-以下のテストユーザのパスワードとして利用される。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--super_tanaka@gmail.com
--tanaka@gmail.com
--super_sato@gmail.com
--sato@gmail.com
-[[前述と同様に、アカウント要件を満たす必要がある>#z8dbd9...
**外部ログインの追加時に XSRF の防止 [#o2d971a4]
[[適当なランダム文字列を設定する>汎用認証サイトのコンフィ...
-パスワード自動生成 (Automated Password Generator)~
http://www.graviness.com/temp/pw_creator/
**JWTの署名に使用する X.509 証明書(テスト用) [#k338b3fb]
-デプロイした先に合わせ[[X.509 証明書(テスト用)のパスを...
-ココでは、Cドライブ直下ということなので、以下のようにパ...
--C:\root\files\resource\X509\SHA256RSA_Server.pfx
--C:\root\files\resource\X509\SHA256ECDSA_Server.pfx
--C:\root\files\resource\MultiPurposeAuthSite\JwkSet.json"
**必要であれば、[[Sessionタイムアウト検出機能]]を無効にす...
-[[既定値>汎用認証サイトのコンフィギュレーション#r0c8faf5...
Open棟梁の[[Sessionタイムアウト検出機能]]が発生する。
-必要であれば、[[Sessionタイムアウト検出機能]]を無効化す...
*(4) 疎通確認を行う。 [#f984838a]
-この設定状態ではメモリストアを使用しているため、デバッグ...
-毎回、サインアップを繰り返すのが面倒な場合は、[[テストユ...
**国際化対応を確認する。 [#cf3bea5e]
-ブラウザの既定の言語を変更すると(以下は、IEでの設定例)
#ref(IE_LanguageConfig.png,left,nowrap,国際化対応1)
-日英の国際化対応がされていることを確認できる。
#ref(DisplayedInEnglish.png,left,nowrap,国際化対応2,80%)
-国際化対応の動作を変更するには、[[以下のweb.configの設定...
<globalization culture="ja-jp" uiCulture="auto"/>
**レスポンシブデザインを確認する。 [#d97c9085]
-多用途 認証サイトの画面は、Open棟梁2.0テンプレートを使用...
-レスポンシブデザインの確認のため、画面サイズを小さくする...
以下のようにメニューがハンバーガーメニューに変更されるこ...
#ref(ResponsiveWebDesign.png,left,nowrap,レスポンシブデザ...
**サインアップする。 [#a63d7ac1]
ヘッダに表示されているSignupボタンを押下してサインアップ...
#ref(Signup.png,left,nowrap,サインアップ)
**E-mail confirmationを確認する。 [#z3e40ffa]
E-mailアドレスの確認(E-mail confirmation)を行う。
***確認用リンクを取得する。 [#r4066120]
この設定状態はデバッグモードなのでVisual Studioのデバッグ...
※ 本番時は、E-mailに本、確認用リンクを含んだE-mailが送信...
#ref(E-mailConfirmation.png,left,nowrap,確認用リンクの取得)
***確認用リンクを貼り付けてアクティベーションする。 [#j11...
確認用リンクをブラウザのアドレスバーに貼り付けてEnter押下...
アカウントがアクティベーションされ、以下の画面が表示され...
「ログインするにはここをクリックしてください。」を押下し...
#ref(E-mailConfirmed.png,left,nowrap,確認用リンクを貼り付...
***サインインを確認する。 [#uead025d]
ログイン画面でサインインする。
#ref(Signin.png,left,nowrap,サインイン)
**アカウントを編集する。 [#f41ac715]
-サインインした後、ヘッダに表示されている「こんにちは[メ...
#ref(Edit.png,left,nowrap,アカウント編集)
-この設定状態では、SecurityStamp機能が有効になっている。~
この場合、編集後、幾らか時間が経過した後に自動的にサイン...
***ユーザ名を変更する [#g4f29277]
-UserName=メアド~
メアド変更なので、E-mail confirmationが実行される。
-UserName=メアド以外~
メアドではないので、E-mail confirmationが実行されない。
設定によっては、パスワード入力が求められる。
***メアドを追加・削除する [#s4e10694]
-UserName≒メアド以外の場合は、こちらになる。
-E-mail confirmationが実行される。
***パスワードを変更する。 [#pd7c4e69]
-[パスワードの変更]リンクを押下して、[パスワードの変更]画...
-再度サインインする際、変更後のパスワードでサインインでき...
***電話番号を設定する。 [#hece1649]
-[電話番号の設定]リンクを押下して、[電話番号の設定]画面に...
-[電話番号の設定]を行うと、電話番号の確認(TelNum confirm...
-この設定状態はデバッグモードなのでVisual Studioのデバッ...
※ 本番時は、携帯電話(スマホ)に本コードを含んだSMSが送信...
#ref(TelNumConfirmation.png,left,nowrap,電話番号の確認コ...
-確認コードを入力して実行すると以下の画面が表示される。
#ref(TelNumConfirmed.png,left,nowrap,確認コードを入力して...
-ここで、電話番号が入力できたことを確認する。
-必要に応じて、[電話番号の削除]リンクを押下して、電話番号...
***2要素認証をオンにする。 [#t86e475c]
-2要素認証の[有効にする]リンクを押下して、2要素認証をオン...
>
#ref(EnableTwo-FactorAuthentication.png,left,nowrap,2要素...
-この状態で別のブラウザ(Chrome ---> Internet Explorer)...
-すると、以下のような画面が表示されるので、好みの通知プロ...
(電子メールコードと電話コードから選択可能だが、電話コー...
>
#ref(Two-FactorAuthentication.png,left,nowrap,2要素認証)
-後は、前述の[[電話番号の設定>#hece1649]]のように、確認コ...
ソレを使用して2要素認証のプロセスを完了することで、別ブラ...
***[[外部ログインを管理する>汎用認証サイトのファーストス...
***[[支払い元情報を管理する>汎用認証サイトのファーストス...
***属性データ(非定型データ)の管理(編集) [#qeb450d1]
-[属性データの設定]リンクを押下して、属性データの追加画面...
>
#ref(UserAttribute1.png,left,nowrap,属性データ(非定型デ...
-当該画面でデータの追加・編集を行う。
>
#ref(EditUserAttribute.png,left,nowrap,属性データ(非定型...
-[属性データの変更]・[属性データの削除]リンクで、属性デー...
>
#ref(UserAttribute2.png,left,nowrap,属性データ(非定型デ...
***OAuth2データの管理(編集とToken取得) [#sbfa6e5c]
-[OAuth2データの設定]リンクを押下して、OAuth2データの追加...
>
#ref(OAuth2Data.png,left,nowrap,OAuth2データの管理,80%)
-当該画面でデータの追加・編集を行う。
>
#ref(EditOAuth2Data.png,left,nowrap,OAuth2データの編集,80%)
-[OAuth2アクセストークンの取得]リンクを押下すると、~
サインイン・ユーザに向けたOAuth2アクセストークンを取得で...
>
#ref(GetOAuth2Token.png,left,nowrap,OAuth2トークンの取得,...
**パスワードをリセットする。 [#w188afb8]
-次に、パスワード・リセットを行うので、ヘッダに表示されて...
-ヘッダに表示されているSignupボタンを押下してサインアップ...
-このサインアップ画面で、「パスワードを忘れた場合。」リン...
-すると、以下の「パスワードを忘れましか?」画面に遷移する...
自分のアカウントのE-mailのアドレスを入力して送信ボタンを...
#ref(PasswordReset.png,left,nowrap,パスワード・リセット)
-後は、前述の[[E-mailアドレスの確認(E-mail confirmation...
ソレを使用してパスワード・リセットのプロセスを完了させる...
-パスワード・リセットのプロセスの完了後、確認のためサイン...
**アカウントのロックアウトを確認する。 [#b2ae184f]
-次に、アカウントのロックアウトの確認を行うので、ヘッダに...
-[[初期状態では、5回間違えると5分間>汎用認証サイトのコン...
#ref(AccountLockout.png,left,nowrap,アカウントのロックア...
-アカウントのロックアウト中はサインインが失敗することを確...
指定時間経過後にアカウントのロックアウトが解除され、サイ...
*(6) OAuth2の機能確認を行う。 [#nde458fe]
**Authorization Codeグラント種別 [#tad2bf60]
以下は未サインイン時のシーケンス。~
サインイン済みの場合は、ログイン画面がショートカットされ...
***フローを開始する。 [#rfdc2790]
スターターのリンクをクリックする。
#ref(AuthorizationCode1.png,left,nowrap,AuthorizationCode...
***権限を認可する。 [#b53e16b5]
-ログイン画面が表示され、サインイン後に、以下の権限認可画...
-権限とはスターターのリンクに設定されているscopeというク...
>
#ref(AuthorizationCode2.png,left,nowrap,AuthorizationCode...
-なお、異なるscopeでのテストを行いたい場合、この画面が表...
アドレスバーのscope値を書き換えてEnterボタンを押下すれば...
***確認画面(テスト用)で確認する。 [#za6451b6]
-以下の画面が表示され、Bearer Tokenを確認できる。~
※注意 : この画面はテスト用。本来ココに表示されている情報...
#ref(AuthorizationCode3.png,left,nowrap,AuthorizationCode...
-以下は確認画面(テスト用)の項目値の説明
--State
---CSRF(XSRF)を防止するための値
---上段エンドポイントで取得したQuery値
---下段がスターターのリンクに格納したQuery値(テスト用にS...
--Code~
Authorization CodeのCodeの値(Bearer Tokenに変換する前の...
--Access Token
---[[設定によって、JWT形式とASP.NET Identity形式を選択可...
JWTアサーションに関する詳細は[[コチラ>https://techinfoofm...
---Json~
JWT形式の場合、ペイロード部分をBase64UrlデコードしたJSON...
[[これは、IDトークンとホボ同じ形式>https://techinfoofmicr...
{
"iss": "http://jwtssoauth.opentouryo.com",
"aud": "xxxx",
"nonce": "xxxx",
"sub": "xxxx@gmail.com",
"iat": "nnnnnnnnnn",
"exp": "nnnnnnnnnn",
"email": "xxxx@gmail.com",
"email_verified": "True",
"phone_number": "",
"phone_number_verified": "False",
"scopes": [
"profile",
"email",
"phone",
"address",
・・・
],
"roles": [・・・]
}
--Refresh Token
---Access Tokenのリフレッシュ処理に使用するRefresh Token
---[[Refresh Tokenの機能は、設定によってロックダウン可能>...
--ボタン
---Refresh~
Refresh Tokenを用いてAccess Tokenのリフレッシュする Token...
---Get user claim~
Access Tokenを使用してユーザーのクレーム情報を取得するRes...
ココでは、以下のようなJSONが返る。
{
"sub": "xxxx@gmail.com",
"email": "xxxx@gmail.com",
"email_verified": "True",
"phone_number": "",
"phone_number_verified": "False"
}
--Response~
サーバーで行ったHTTPClientを使用したRESTのレスポンスを表...
***JWTの署名・検証の処理を確認する。 [#b6c3cd0c]
-画面下部のリンクから「https://jwt.io/」にアクセスして、
-「Encoded PASTE A TOKEN HERE」欄に前述の「Access Token(J...
-すると、JWTのヘッダーとペイロードがBase64Urlデコードされ...
-次に、「ALGORITHM」欄のドロップダウンリストを「RS256」に...
-この状態で、以下のpublicKey.key中の公開鍵を「VERIFY SIGN...
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
#ref(jwt_io1.png,left,nowrap,JWTの署名検証処理1,60%)
-[Invalid Signature](赤)→[Signature Verified](青)に表...
#ref(jwt_io2.png,left,nowrap,JWTの署名検証処理2,60%)
**Implicitグラント種別 [#n81487c7]
以下は未サインイン時のシーケンス。~
サインイン済みの場合は、サインイン画面がショートカットさ...
***フローを開始する。 [#jdc1be1f]
スターターのリンクをクリックする。
#ref(Implicit1.png,left,nowrap,Implicit:フローを開始する...
***確認画面(テスト用)で確認する。 [#z9c90649]
-以下の確認画面(テスト用)が表示される。
-[Get user claim]ボタンを押下するとAccess Tokenを使用して...
クレーム情報を取得するResources ServerのWeb APIを呼び出す...
>
#ref(Implicit2.png,left,nowrap,Implicit:結果を確認する。)
-以下のようにWeb API呼出の結果が表示される。
>
#ref(Implicit3.png,left,nowrap,Implicit:結果を確認する。)
**Resource Owner Password Credentialsグラント種別 [#w5277...
[[こちら>汎用認証サイトの動作検証#ff1f98d1]]の手順に従っ...
**Client Credentialsグラント種別 [#b2f15820]
[[こちら>汎用認証サイトの動作検証#dc7b96b2]]の手順に従っ...
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>汎用認証サイトのファーストステップガイド]]
--ファーストステップ (1)
--[[ファーストステップ (2)>汎用認証サイトのファーストステ...
--[[ファーストステップ (3)>汎用認証サイトのファーストステ...
--[[ファーストステップ (4)>汎用認証サイトのファーストステ...
--[[ファーストステップ (5)>汎用認証サイトのファーストステ...
--[[ファーストステップ (6)>汎用認証サイトのファーストステ...
--[[ファーストステップ (7)>汎用認証サイトのファーストステ...
*目次 [#j9e4c8e8]
#contents
*概要 [#d0cd2bd9]
[[汎用認証サイト(Multi-purpose Authentication Site)]]~
の導入前の評価を行うためのファーストステップガイド。
*(1) 前提 [#c28f8d88]
**[[ターゲット&ポジション>汎用認証サイト(Multi-purpose ...
**v01-95時点の前提環境 [#b9dba1e7]
-Visual Studio 2019
-ランタイム
--.NET Framework 4.8
--.NET Core 3.0
-データ・ストア
--メモリストア~
検証ではストレージは不要
--RDBMS
---SQL Server
---[[Oracle>https://techinfoofmicrosofttech.osscons.jp/in...
---[[PostgreSQL>https://techinfoofmicrosofttech.osscons.j...
--NoSQL、LDAP~
未実装だが、基本的にSTS専用モードで使用することを想定。
*(2) 一式のダウンロードとセットアップ [#z97dcc62]
[[コチラ>部会メモ#n79cc0a7]]を参照。
*(3) [[app.config>https://github.com/OpenTouryoProject/Mu...
以下の項目を設定する。
**Administrator(システム管理者のアカウント) [#z8dbd98b]
[[システム管理者のアカウントを入力する>汎用認証サイトのコ...
-[[UserNameがEmailかどうか>汎用認証サイトのコンフィギュレ...
-[[ユーザ名検証(既定のユーザ名は、E-mail>汎用認証サイト...
-[[パスワード検証(8文字以上の大文字・小文字、数値、記号>...
**登録されるテストユーザのpassword [#bc6a1b41]
-[[テスト用に登録される下記テストユーザのパスワード>汎用...
-以下のテストユーザのパスワードとして利用される。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--super_tanaka@gmail.com
--tanaka@gmail.com
--super_sato@gmail.com
--sato@gmail.com
-[[前述と同様に、アカウント要件を満たす必要がある>#z8dbd9...
**外部ログインの追加時に XSRF の防止 [#o2d971a4]
[[適当なランダム文字列を設定する>汎用認証サイトのコンフィ...
-パスワード自動生成 (Automated Password Generator)~
http://www.graviness.com/temp/pw_creator/
**JWTの署名に使用する X.509 証明書(テスト用) [#k338b3fb]
-デプロイした先に合わせ[[X.509 証明書(テスト用)のパスを...
-ココでは、Cドライブ直下ということなので、以下のようにパ...
--C:\root\files\resource\X509\SHA256RSA_Server.pfx
--C:\root\files\resource\X509\SHA256ECDSA_Server.pfx
--C:\root\files\resource\MultiPurposeAuthSite\JwkSet.json"
**必要であれば、[[Sessionタイムアウト検出機能]]を無効にす...
-[[既定値>汎用認証サイトのコンフィギュレーション#r0c8faf5...
Open棟梁の[[Sessionタイムアウト検出機能]]が発生する。
-必要であれば、[[Sessionタイムアウト検出機能]]を無効化す...
*(4) 疎通確認を行う。 [#f984838a]
-この設定状態ではメモリストアを使用しているため、デバッグ...
-毎回、サインアップを繰り返すのが面倒な場合は、[[テストユ...
**国際化対応を確認する。 [#cf3bea5e]
-ブラウザの既定の言語を変更すると(以下は、IEでの設定例)
#ref(IE_LanguageConfig.png,left,nowrap,国際化対応1)
-日英の国際化対応がされていることを確認できる。
#ref(DisplayedInEnglish.png,left,nowrap,国際化対応2,80%)
-国際化対応の動作を変更するには、[[以下のweb.configの設定...
<globalization culture="ja-jp" uiCulture="auto"/>
**レスポンシブデザインを確認する。 [#d97c9085]
-多用途 認証サイトの画面は、Open棟梁2.0テンプレートを使用...
-レスポンシブデザインの確認のため、画面サイズを小さくする...
以下のようにメニューがハンバーガーメニューに変更されるこ...
#ref(ResponsiveWebDesign.png,left,nowrap,レスポンシブデザ...
**サインアップする。 [#a63d7ac1]
ヘッダに表示されているSignupボタンを押下してサインアップ...
#ref(Signup.png,left,nowrap,サインアップ)
**E-mail confirmationを確認する。 [#z3e40ffa]
E-mailアドレスの確認(E-mail confirmation)を行う。
***確認用リンクを取得する。 [#r4066120]
この設定状態はデバッグモードなのでVisual Studioのデバッグ...
※ 本番時は、E-mailに本、確認用リンクを含んだE-mailが送信...
#ref(E-mailConfirmation.png,left,nowrap,確認用リンクの取得)
***確認用リンクを貼り付けてアクティベーションする。 [#j11...
確認用リンクをブラウザのアドレスバーに貼り付けてEnter押下...
アカウントがアクティベーションされ、以下の画面が表示され...
「ログインするにはここをクリックしてください。」を押下し...
#ref(E-mailConfirmed.png,left,nowrap,確認用リンクを貼り付...
***サインインを確認する。 [#uead025d]
ログイン画面でサインインする。
#ref(Signin.png,left,nowrap,サインイン)
**アカウントを編集する。 [#f41ac715]
-サインインした後、ヘッダに表示されている「こんにちは[メ...
#ref(Edit.png,left,nowrap,アカウント編集)
-この設定状態では、SecurityStamp機能が有効になっている。~
この場合、編集後、幾らか時間が経過した後に自動的にサイン...
***ユーザ名を変更する [#g4f29277]
-UserName=メアド~
メアド変更なので、E-mail confirmationが実行される。
-UserName=メアド以外~
メアドではないので、E-mail confirmationが実行されない。
設定によっては、パスワード入力が求められる。
***メアドを追加・削除する [#s4e10694]
-UserName≒メアド以外の場合は、こちらになる。
-E-mail confirmationが実行される。
***パスワードを変更する。 [#pd7c4e69]
-[パスワードの変更]リンクを押下して、[パスワードの変更]画...
-再度サインインする際、変更後のパスワードでサインインでき...
***電話番号を設定する。 [#hece1649]
-[電話番号の設定]リンクを押下して、[電話番号の設定]画面に...
-[電話番号の設定]を行うと、電話番号の確認(TelNum confirm...
-この設定状態はデバッグモードなのでVisual Studioのデバッ...
※ 本番時は、携帯電話(スマホ)に本コードを含んだSMSが送信...
#ref(TelNumConfirmation.png,left,nowrap,電話番号の確認コ...
-確認コードを入力して実行すると以下の画面が表示される。
#ref(TelNumConfirmed.png,left,nowrap,確認コードを入力して...
-ここで、電話番号が入力できたことを確認する。
-必要に応じて、[電話番号の削除]リンクを押下して、電話番号...
***2要素認証をオンにする。 [#t86e475c]
-2要素認証の[有効にする]リンクを押下して、2要素認証をオン...
>
#ref(EnableTwo-FactorAuthentication.png,left,nowrap,2要素...
-この状態で別のブラウザ(Chrome ---> Internet Explorer)...
-すると、以下のような画面が表示されるので、好みの通知プロ...
(電子メールコードと電話コードから選択可能だが、電話コー...
>
#ref(Two-FactorAuthentication.png,left,nowrap,2要素認証)
-後は、前述の[[電話番号の設定>#hece1649]]のように、確認コ...
ソレを使用して2要素認証のプロセスを完了することで、別ブラ...
***[[外部ログインを管理する>汎用認証サイトのファーストス...
***[[支払い元情報を管理する>汎用認証サイトのファーストス...
***属性データ(非定型データ)の管理(編集) [#qeb450d1]
-[属性データの設定]リンクを押下して、属性データの追加画面...
>
#ref(UserAttribute1.png,left,nowrap,属性データ(非定型デ...
-当該画面でデータの追加・編集を行う。
>
#ref(EditUserAttribute.png,left,nowrap,属性データ(非定型...
-[属性データの変更]・[属性データの削除]リンクで、属性デー...
>
#ref(UserAttribute2.png,left,nowrap,属性データ(非定型デ...
***OAuth2データの管理(編集とToken取得) [#sbfa6e5c]
-[OAuth2データの設定]リンクを押下して、OAuth2データの追加...
>
#ref(OAuth2Data.png,left,nowrap,OAuth2データの管理,80%)
-当該画面でデータの追加・編集を行う。
>
#ref(EditOAuth2Data.png,left,nowrap,OAuth2データの編集,80%)
-[OAuth2アクセストークンの取得]リンクを押下すると、~
サインイン・ユーザに向けたOAuth2アクセストークンを取得で...
>
#ref(GetOAuth2Token.png,left,nowrap,OAuth2トークンの取得,...
**パスワードをリセットする。 [#w188afb8]
-次に、パスワード・リセットを行うので、ヘッダに表示されて...
-ヘッダに表示されているSignupボタンを押下してサインアップ...
-このサインアップ画面で、「パスワードを忘れた場合。」リン...
-すると、以下の「パスワードを忘れましか?」画面に遷移する...
自分のアカウントのE-mailのアドレスを入力して送信ボタンを...
#ref(PasswordReset.png,left,nowrap,パスワード・リセット)
-後は、前述の[[E-mailアドレスの確認(E-mail confirmation...
ソレを使用してパスワード・リセットのプロセスを完了させる...
-パスワード・リセットのプロセスの完了後、確認のためサイン...
**アカウントのロックアウトを確認する。 [#b2ae184f]
-次に、アカウントのロックアウトの確認を行うので、ヘッダに...
-[[初期状態では、5回間違えると5分間>汎用認証サイトのコン...
#ref(AccountLockout.png,left,nowrap,アカウントのロックア...
-アカウントのロックアウト中はサインインが失敗することを確...
指定時間経過後にアカウントのロックアウトが解除され、サイ...
*(6) OAuth2の機能確認を行う。 [#nde458fe]
**Authorization Codeグラント種別 [#tad2bf60]
以下は未サインイン時のシーケンス。~
サインイン済みの場合は、ログイン画面がショートカットされ...
***フローを開始する。 [#rfdc2790]
スターターのリンクをクリックする。
#ref(AuthorizationCode1.png,left,nowrap,AuthorizationCode...
***権限を認可する。 [#b53e16b5]
-ログイン画面が表示され、サインイン後に、以下の権限認可画...
-権限とはスターターのリンクに設定されているscopeというク...
>
#ref(AuthorizationCode2.png,left,nowrap,AuthorizationCode...
-なお、異なるscopeでのテストを行いたい場合、この画面が表...
アドレスバーのscope値を書き換えてEnterボタンを押下すれば...
***確認画面(テスト用)で確認する。 [#za6451b6]
-以下の画面が表示され、Bearer Tokenを確認できる。~
※注意 : この画面はテスト用。本来ココに表示されている情報...
#ref(AuthorizationCode3.png,left,nowrap,AuthorizationCode...
-以下は確認画面(テスト用)の項目値の説明
--State
---CSRF(XSRF)を防止するための値
---上段エンドポイントで取得したQuery値
---下段がスターターのリンクに格納したQuery値(テスト用にS...
--Code~
Authorization CodeのCodeの値(Bearer Tokenに変換する前の...
--Access Token
---[[設定によって、JWT形式とASP.NET Identity形式を選択可...
JWTアサーションに関する詳細は[[コチラ>https://techinfoofm...
---Json~
JWT形式の場合、ペイロード部分をBase64UrlデコードしたJSON...
[[これは、IDトークンとホボ同じ形式>https://techinfoofmicr...
{
"iss": "http://jwtssoauth.opentouryo.com",
"aud": "xxxx",
"nonce": "xxxx",
"sub": "xxxx@gmail.com",
"iat": "nnnnnnnnnn",
"exp": "nnnnnnnnnn",
"email": "xxxx@gmail.com",
"email_verified": "True",
"phone_number": "",
"phone_number_verified": "False",
"scopes": [
"profile",
"email",
"phone",
"address",
・・・
],
"roles": [・・・]
}
--Refresh Token
---Access Tokenのリフレッシュ処理に使用するRefresh Token
---[[Refresh Tokenの機能は、設定によってロックダウン可能>...
--ボタン
---Refresh~
Refresh Tokenを用いてAccess Tokenのリフレッシュする Token...
---Get user claim~
Access Tokenを使用してユーザーのクレーム情報を取得するRes...
ココでは、以下のようなJSONが返る。
{
"sub": "xxxx@gmail.com",
"email": "xxxx@gmail.com",
"email_verified": "True",
"phone_number": "",
"phone_number_verified": "False"
}
--Response~
サーバーで行ったHTTPClientを使用したRESTのレスポンスを表...
***JWTの署名・検証の処理を確認する。 [#b6c3cd0c]
-画面下部のリンクから「https://jwt.io/」にアクセスして、
-「Encoded PASTE A TOKEN HERE」欄に前述の「Access Token(J...
-すると、JWTのヘッダーとペイロードがBase64Urlデコードされ...
-次に、「ALGORITHM」欄のドロップダウンリストを「RS256」に...
-この状態で、以下のpublicKey.key中の公開鍵を「VERIFY SIGN...
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
#ref(jwt_io1.png,left,nowrap,JWTの署名検証処理1,60%)
-[Invalid Signature](赤)→[Signature Verified](青)に表...
#ref(jwt_io2.png,left,nowrap,JWTの署名検証処理2,60%)
**Implicitグラント種別 [#n81487c7]
以下は未サインイン時のシーケンス。~
サインイン済みの場合は、サインイン画面がショートカットさ...
***フローを開始する。 [#jdc1be1f]
スターターのリンクをクリックする。
#ref(Implicit1.png,left,nowrap,Implicit:フローを開始する...
***確認画面(テスト用)で確認する。 [#z9c90649]
-以下の確認画面(テスト用)が表示される。
-[Get user claim]ボタンを押下するとAccess Tokenを使用して...
クレーム情報を取得するResources ServerのWeb APIを呼び出す...
>
#ref(Implicit2.png,left,nowrap,Implicit:結果を確認する。)
-以下のようにWeb API呼出の結果が表示される。
>
#ref(Implicit3.png,left,nowrap,Implicit:結果を確認する。)
**Resource Owner Password Credentialsグラント種別 [#w5277...
[[こちら>汎用認証サイトの動作検証#ff1f98d1]]の手順に従っ...
**Client Credentialsグラント種別 [#b2f15820]
[[こちら>汎用認証サイトの動作検証#dc7b96b2]]の手順に従っ...
ページ名: