汎用認証サイトのファーストステップガイド (3)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>汎用認証サイトのファーストステップガイド]]
--[[ファーストステップ (1)>汎用認証サイトのファーストステ...
--[[ファーストステップ (2)>汎用認証サイトのファーストステ...
--ファーストステップ (3)
--[[ファーストステップ (4)>汎用認証サイトのファーストステ...
--[[ファーストステップ (5)>汎用認証サイトのファーストステ...
--[[ファーストステップ (6)>汎用認証サイトのファーストステ...
--[[ファーストステップ (7)>汎用認証サイトのファーストステ...
*目次 [#t7c1a531]
#contents
*概要 [#y310bfce]
[[汎用認証サイト(Multi-purpose Authentication Site)]]~
の導入前の評価を行うためのファーストステップガイド。
*(13) オプションを変更してテストする [#eb0a77dd]
**UserName=メアド以外 [#be3f6da3]
***app.configファイルを設定する。 [#nc977fa0]
-[[RequireUniqueEmail : false>汎用認証サイトのコンフィギ...
***サインアップ・サインインを確認する。 [#w6b3e579]
-メアド以外のUserNameでサインアップ・サインインできること...
-特にサインアップ・プロセスの動作変更に注意する。
***E-mailアドレスを登録する。 [#f54cb776]
サインインした後、ヘッダに表示されている「こんにちは[メー...
このオプションを設定した場合、[E-mailの設定]リンクが表示...
#ref(AddEmailAddress.png,left,nowrap,管理画面への遷移)
この際、カスタムのE-mailアドレスの確認(E-mail confirmati...
***アカウント管理画面から追加・更新する。 [#c2db38ed]
アカウント管理画面からUserName=メアド以外のユーザーを追...
#ref(Administration.png,left,nowrap,管理画面への遷移)
-UserName=メアド以外で、ユーザーを追加
>
#ref(AddUser.png,left,nowrap,ユーザーの追加)
-UserName=メアド以外で、ユーザーを更新
>
#ref(EditUser.png,left,nowrap,ユーザーの更新)
-UserName=メアド以外のユーザーが追加・更新されたことを確...
>
#ref(UserList.png,left,nowrap,追加・更新されたアカウント)
***その他のテストケースを確認する。 [#b3503d18]
-[[外部ログイン>汎用認証サイトの動作検証#tb024b60]]
**管理画面 [#e0b6ddb5]
***概要 [#f5add727]
アカウント・ロールの管理画面には、権限のあるアカウントで...
#ref(Administration.png,left,nowrap,管理画面への遷移)
***参考 [#td287ce3]
詳しくは、
>[[汎用認証サイトのファーストステップガイド (2) - (9) ア...
を参照のこと。
*(14) OAuth2の3分割テストを行う。 [#r68f6218]
汎用認証サイトをOAuth2で登場する3つのサーバー機能に分割し...
-Authorization Server
-Resource Server
-Client
**サイトを3分割する。 [#s9b1eaff]
以下のような感じで、サイトを3分割する。
・MultiPurposeAuthSiteフォルダ
├ CreateClientsIdentityフォルダ
├ packagesフォルダ
├ MultiPurposeAuthSiteフォルダ
├ MultiPurposeAuthSiteRフォルダ
├ MultiPurposeAuthSiteCフォルダ
├ MultiPurposeAuthSite.slnファイル
├ MultiPurposeAuthSiteR.slnファイル
└ MultiPurposeAuthSiteC.slnファイル
***MultiPurposeAuthSiteフォルダを3分割する。 [#r299fbef]
-以下のフォルダをコピーして複製し、
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
-以下のようにリネームする。
--MultiPurposeAuthSite~
Authorization Serverの役割
--MultiPurposeAuthSiteR~
Resource Serverの役割なので末尾に「R」を付与。
--MultiPurposeAuthSiteC~
Clientの役割なので末尾に「C」を付与。
*** MultiPurposeAuthSite.slnファイルを3分割する。 [#yd059...
-以下のファイルをコピーして複製し、~
C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSit...
-以下のようにリネームする。
--MultiPurposeAuthSite.sln
--MultiPurposeAuthSiteR.sln
--MultiPurposeAuthSiteC.sln
-それぞれ*.slnファイルをTextEditorなどで開いて、~
内部で指しているMultiPurposeAuthSite.csprojへのパスを変更...
***MultiPurposeAuthSite.csprojのポート番号を変更する。 [#...
3サイト同時起動のためMultiPurposeAuthSite.csprojのポート...
-以下のファイルのポート番号部分と重複しないようにする。
--.\MultiPurposeAuthSite\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:63359/MultiPurposeAuthSite/</II...
-ここでは、それぞれ、以下のようにポート番号を変更した。
--.\MultiPurposeAuthSiteR\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:9998/MultiPurposeAuthSite/</IIS...
--.\MultiPurposeAuthSiteC\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:9999/MultiPurposeAuthSite/</IIS...
**それぞれのapp.config設定を行う。 [#l40fb6a8]
以下のファイルの設定を変更する。~
C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSit...
***ユーザストアをDBMSストアに変更する。 [#v0a5dd8f]
[[コチラ>汎用認証サイトのファーストステップガイド (2)#zac...
***[[ResourceServerエンドポイントの設定>汎用認証サイトの...
-以下の設定を、
<add key="OAuthResourceServerEndpointsRootURI" value="ht...
-のように変更する。
<add key="OAuthResourceServerEndpointsRootURI" value="ht...
***[[Clientエンドポイントの設定>汎用認証サイトのコンフィ...
-以下の設定を、
<add key="OAuthClientEndpointsRootURI" value="http://loc...
-のように変更する。
<add key="OAuthClientEndpointsRootURI" value="http://loc...
***設定したapp.configを複製する。 [#eb549865]
-設定したapp.configを
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
-以下の場所に複製します。
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
**3つのサイトをデバッグ実行をする。 [#ma4392a8]
3つのサイトを*.slnファイルから開いてデバッグ実行をする。
*** *.slnファイルからWebサイトを開く [#od8ceca7]
-Authorization Serverの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
-Resource Serverの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
-Clientの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
***それぞれ、F5を押下してデバッグ実行を開始する。 [#h5547...
-Authorization Serverの役割~
http://localhost:63359/MultiPurposeAuthSite/
-Resource Serverの役割~
http://localhost:9998/MultiPurposeAuthSite/
-Clientの役割~
http://localhost:9999/MultiPurposeAuthSite/
***Clientから、[[Authorization Codeグラント種別>https://t...
-以下のURLからClientにアクセスする。~
http://localhost:9999/MultiPurposeAuthSite/
-ここで、[Authorization Codeグラント(client_id, response_...
-すると、Authorization Serverのサインイン画面に遷移するの...
-サインイン後、Authorization Serverの[リソース・アクセス...
-すると、Clientに戻ってきて、ここでCodeがBearer Tokenに変...
-そして、ClientのOAuthAuthorizationCodeGrantClient(テス...
-ここで、[GetUserClaim]ボタンを押下すると、ClientからReso...
**処理フローの説明 [#o3362cc1]
***(1) スターターの位置 [#kb322ae2]
ClientからAuthorization Serverへ遷移。
-Code : https://github.com/OpenTouryoProject/MultiPurpose...
-URL : http://localhost:63359/MultiPurposeAuthSite/Accoun...
***(2) スターターの飛び先 [#bedb35d7]
Authorization Serverでは、以下のルートで、[リソース・アク...
-ApplicationOAuthBearerTokenProvider.ValidateClientRedire...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-GET : /Account/OAuthAuthorizeのaction methodに遷移する。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-これによって、[リソース・アクセスの認可]画面 = OAuthAuth...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
***(3) 権限付与の認可を行う。 [#cbcb900d]
Authorization Serverの[リソース・アクセスの認可]画面でポ...
-POST : /Account/OAuthAuthorizeのaction methodに遷移する。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-上記の処理の完了後、ClientのRedirectエンドポイントへRedi...
http://localhost:9999/MultiPurposeAuthSite/Account/OAuthA...
***(4) Bearer Tokenを取得する。 [#d94c9024]
ClientのRedirectエンドポイントでBearer Tokenを取得してRes...
-GET : /Account/OAuthAuthorizationCodeGrantClientのaction...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-ここで、仲介コードを使用してTokenエンドポイントにアクセ...
-すると、ApplicationOAuthBearerTokenProvider.ValidateClie...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-Access Token・Refresh Tokenのレスポンスが返る。
***(5) 以下はテスト用の処理フロー [#w202cd2d]
通常、仲介コードやAccess Token・Refresh Tokenは露見させな...
ここではテスト用に、[Authorization Code Grant]画面にこれ...
-[Authorization Code Grant]画面 = OAuthAuthorizationCodeG...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
その後、以下のRefresh処理、Get user claim処理を実行するこ...
-Refreshボタンを押下
--POST : /Account/OAuthAuthorizationCodeGrantClientのacti...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--Tokenエンドポイントで、Refresh Tokenを使用してAccess To...
GET : /OAuthBearerToken
-Get user claimボタンを押下
--POST : /Account/OAuthAuthorizationCodeGrantClientのacti...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--ClientからResource ServerにWebAPI呼出が行われ結果が返る...
なお、認可処理は、WebAPI内部でscopeを確認して行う。
---認証 : AccessTokenFormatJwt.Unprotect~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
---WebAPI : OAuthResourceApiController.GetUserClaim~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>汎用認証サイトのファーストステップガイド]]
--[[ファーストステップ (1)>汎用認証サイトのファーストステ...
--[[ファーストステップ (2)>汎用認証サイトのファーストステ...
--ファーストステップ (3)
--[[ファーストステップ (4)>汎用認証サイトのファーストステ...
--[[ファーストステップ (5)>汎用認証サイトのファーストステ...
--[[ファーストステップ (6)>汎用認証サイトのファーストステ...
--[[ファーストステップ (7)>汎用認証サイトのファーストステ...
*目次 [#t7c1a531]
#contents
*概要 [#y310bfce]
[[汎用認証サイト(Multi-purpose Authentication Site)]]~
の導入前の評価を行うためのファーストステップガイド。
*(13) オプションを変更してテストする [#eb0a77dd]
**UserName=メアド以外 [#be3f6da3]
***app.configファイルを設定する。 [#nc977fa0]
-[[RequireUniqueEmail : false>汎用認証サイトのコンフィギ...
***サインアップ・サインインを確認する。 [#w6b3e579]
-メアド以外のUserNameでサインアップ・サインインできること...
-特にサインアップ・プロセスの動作変更に注意する。
***E-mailアドレスを登録する。 [#f54cb776]
サインインした後、ヘッダに表示されている「こんにちは[メー...
このオプションを設定した場合、[E-mailの設定]リンクが表示...
#ref(AddEmailAddress.png,left,nowrap,管理画面への遷移)
この際、カスタムのE-mailアドレスの確認(E-mail confirmati...
***アカウント管理画面から追加・更新する。 [#c2db38ed]
アカウント管理画面からUserName=メアド以外のユーザーを追...
#ref(Administration.png,left,nowrap,管理画面への遷移)
-UserName=メアド以外で、ユーザーを追加
>
#ref(AddUser.png,left,nowrap,ユーザーの追加)
-UserName=メアド以外で、ユーザーを更新
>
#ref(EditUser.png,left,nowrap,ユーザーの更新)
-UserName=メアド以外のユーザーが追加・更新されたことを確...
>
#ref(UserList.png,left,nowrap,追加・更新されたアカウント)
***その他のテストケースを確認する。 [#b3503d18]
-[[外部ログイン>汎用認証サイトの動作検証#tb024b60]]
**管理画面 [#e0b6ddb5]
***概要 [#f5add727]
アカウント・ロールの管理画面には、権限のあるアカウントで...
#ref(Administration.png,left,nowrap,管理画面への遷移)
***参考 [#td287ce3]
詳しくは、
>[[汎用認証サイトのファーストステップガイド (2) - (9) ア...
を参照のこと。
*(14) OAuth2の3分割テストを行う。 [#r68f6218]
汎用認証サイトをOAuth2で登場する3つのサーバー機能に分割し...
-Authorization Server
-Resource Server
-Client
**サイトを3分割する。 [#s9b1eaff]
以下のような感じで、サイトを3分割する。
・MultiPurposeAuthSiteフォルダ
├ CreateClientsIdentityフォルダ
├ packagesフォルダ
├ MultiPurposeAuthSiteフォルダ
├ MultiPurposeAuthSiteRフォルダ
├ MultiPurposeAuthSiteCフォルダ
├ MultiPurposeAuthSite.slnファイル
├ MultiPurposeAuthSiteR.slnファイル
└ MultiPurposeAuthSiteC.slnファイル
***MultiPurposeAuthSiteフォルダを3分割する。 [#r299fbef]
-以下のフォルダをコピーして複製し、
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
-以下のようにリネームする。
--MultiPurposeAuthSite~
Authorization Serverの役割
--MultiPurposeAuthSiteR~
Resource Serverの役割なので末尾に「R」を付与。
--MultiPurposeAuthSiteC~
Clientの役割なので末尾に「C」を付与。
*** MultiPurposeAuthSite.slnファイルを3分割する。 [#yd059...
-以下のファイルをコピーして複製し、~
C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSit...
-以下のようにリネームする。
--MultiPurposeAuthSite.sln
--MultiPurposeAuthSiteR.sln
--MultiPurposeAuthSiteC.sln
-それぞれ*.slnファイルをTextEditorなどで開いて、~
内部で指しているMultiPurposeAuthSite.csprojへのパスを変更...
***MultiPurposeAuthSite.csprojのポート番号を変更する。 [#...
3サイト同時起動のためMultiPurposeAuthSite.csprojのポート...
-以下のファイルのポート番号部分と重複しないようにする。
--.\MultiPurposeAuthSite\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:63359/MultiPurposeAuthSite/</II...
-ここでは、それぞれ、以下のようにポート番号を変更した。
--.\MultiPurposeAuthSiteR\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:9998/MultiPurposeAuthSite/</IIS...
--.\MultiPurposeAuthSiteC\MultiPurposeAuthSite.csproj
<IISUrl>http://localhost:9999/MultiPurposeAuthSite/</IIS...
**それぞれのapp.config設定を行う。 [#l40fb6a8]
以下のファイルの設定を変更する。~
C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSit...
***ユーザストアをDBMSストアに変更する。 [#v0a5dd8f]
[[コチラ>汎用認証サイトのファーストステップガイド (2)#zac...
***[[ResourceServerエンドポイントの設定>汎用認証サイトの...
-以下の設定を、
<add key="OAuthResourceServerEndpointsRootURI" value="ht...
-のように変更する。
<add key="OAuthResourceServerEndpointsRootURI" value="ht...
***[[Clientエンドポイントの設定>汎用認証サイトのコンフィ...
-以下の設定を、
<add key="OAuthClientEndpointsRootURI" value="http://loc...
-のように変更する。
<add key="OAuthClientEndpointsRootURI" value="http://loc...
***設定したapp.configを複製する。 [#eb549865]
-設定したapp.configを
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
-以下の場所に複製します。
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
--C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthS...
**3つのサイトをデバッグ実行をする。 [#ma4392a8]
3つのサイトを*.slnファイルから開いてデバッグ実行をする。
*** *.slnファイルからWebサイトを開く [#od8ceca7]
-Authorization Serverの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
-Resource Serverの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
-Clientの役割~
C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSi...
***それぞれ、F5を押下してデバッグ実行を開始する。 [#h5547...
-Authorization Serverの役割~
http://localhost:63359/MultiPurposeAuthSite/
-Resource Serverの役割~
http://localhost:9998/MultiPurposeAuthSite/
-Clientの役割~
http://localhost:9999/MultiPurposeAuthSite/
***Clientから、[[Authorization Codeグラント種別>https://t...
-以下のURLからClientにアクセスする。~
http://localhost:9999/MultiPurposeAuthSite/
-ここで、[Authorization Codeグラント(client_id, response_...
-すると、Authorization Serverのサインイン画面に遷移するの...
-サインイン後、Authorization Serverの[リソース・アクセス...
-すると、Clientに戻ってきて、ここでCodeがBearer Tokenに変...
-そして、ClientのOAuthAuthorizationCodeGrantClient(テス...
-ここで、[GetUserClaim]ボタンを押下すると、ClientからReso...
**処理フローの説明 [#o3362cc1]
***(1) スターターの位置 [#kb322ae2]
ClientからAuthorization Serverへ遷移。
-Code : https://github.com/OpenTouryoProject/MultiPurpose...
-URL : http://localhost:63359/MultiPurposeAuthSite/Accoun...
***(2) スターターの飛び先 [#bedb35d7]
Authorization Serverでは、以下のルートで、[リソース・アク...
-ApplicationOAuthBearerTokenProvider.ValidateClientRedire...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-GET : /Account/OAuthAuthorizeのaction methodに遷移する。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-これによって、[リソース・アクセスの認可]画面 = OAuthAuth...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
***(3) 権限付与の認可を行う。 [#cbcb900d]
Authorization Serverの[リソース・アクセスの認可]画面でポ...
-POST : /Account/OAuthAuthorizeのaction methodに遷移する。~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-上記の処理の完了後、ClientのRedirectエンドポイントへRedi...
http://localhost:9999/MultiPurposeAuthSite/Account/OAuthA...
***(4) Bearer Tokenを取得する。 [#d94c9024]
ClientのRedirectエンドポイントでBearer Tokenを取得してRes...
-GET : /Account/OAuthAuthorizationCodeGrantClientのaction...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-ここで、仲介コードを使用してTokenエンドポイントにアクセ...
-すると、ApplicationOAuthBearerTokenProvider.ValidateClie...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-Access Token・Refresh Tokenのレスポンスが返る。
***(5) 以下はテスト用の処理フロー [#w202cd2d]
通常、仲介コードやAccess Token・Refresh Tokenは露見させな...
ここではテスト用に、[Authorization Code Grant]画面にこれ...
-[Authorization Code Grant]画面 = OAuthAuthorizationCodeG...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
その後、以下のRefresh処理、Get user claim処理を実行するこ...
-Refreshボタンを押下
--POST : /Account/OAuthAuthorizationCodeGrantClientのacti...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--Tokenエンドポイントで、Refresh Tokenを使用してAccess To...
GET : /OAuthBearerToken
-Get user claimボタンを押下
--POST : /Account/OAuthAuthorizationCodeGrantClientのacti...
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
--ClientからResource ServerにWebAPI呼出が行われ結果が返る...
なお、認可処理は、WebAPI内部でscopeを確認して行う。
---認証 : AccessTokenFormatJwt.Unprotect~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
---WebAPI : OAuthResourceApiController.GetUserClaim~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
ページ名: