「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>汎用認証サイトのファーストステップガイド]] --[[汎用認証サイトのファーストステップガイド (1)]] --[[汎用認証サイトのファーストステップガイド (2)]] --汎用認証サイトのファーストステップガイド (3) *目次 [#t7c1a531] #contents *概要 [#y310bfce] [[汎用認証サイト(Multi-purpose Authentication Site)]]の導入前の評価を行うためのファーストステップガイド。 *(12) オプションを変更してテストする [#eb0a77dd] **UserName=メアド以外 [#be3f6da3] ***app.configファイルを設定する。 [#nc977fa0] https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L121 -RequireUniqueEmail : false ***サインアップ・サインインを確認する。 [#w6b3e579] メアド以外のUserNameでサインアップ・サインインできることを確認する。 ***E-mailアドレスを登録する。 [#f54cb776] サインインした後、ヘッダに表示されている「こんにちは[メールアドレス]さん!」をクリックし、アカウント編集画面へ遷移する。 このオプションを設定した場合、[E-mailの設定]リンクが表示され、これからE-mailアドレスを登録可能。 #ref(AddEmailAddress.png,left,nowrap,管理画面への遷移) この際、カスタムのE-mailアドレスの確認(E-mail confirmation)プロセスが実行される。 ***アカウント管理画面から追加・更新する。 [#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] -[[汎用認証サイトの独自仕様#gbd5af06]] -[[汎用認証サイトの動作検証#tb024b60]] **マルチテナント [#e0b6ddb5] -マルチテナントである場合と、ない場合とで、アカウント・ロールの管理画面での動作が異なる。 -アカウント・ロールの管理画面には、権限のあるアカウントでアクセスする必要がある。 #ref(Administration.png,left,nowrap,管理画面への遷移) ***app.configファイルを設定する。 [#ea7cab6c] https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L91 -[[Multi-tenant : true (マルチテナントの場合)>#ye7b6e36]] -[[Multi-tenant : false (マルチテナントでない場合)>#abd85f33]] ***マルチテナントの場合 [#ye7b6e36] -サインアップしたユーザがテナント管理者になる。 -テナント管理者のみアカウント・ロールの管理画面にアクセスできる。 -後のユーザのアカウントは、テナント管理者が登録する。 -管理画面で可能な操作。 --ユーザ管理画面 ---自分のテナントのユーザのみ管理(CRUD)可能。 --ロール管理画面 ---システム共通のロールを参照可能。 ---自分のテナントのロールを管理(CRUD)可能。 ***マルチテナントでない場合 [#abd85f33] -システム管理者のみアカウント・ロールの管理画面にアクセスできる。 -管理画面で可能な操作。 --ユーザ管理画面~ 全ユーザの管理(CRUD)が可能。 --ロール管理画面~ 全ロールの管理(CRUD)が可能。 *(13) 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\MultiPurposeAuthSite\MultiPurposeAuthSite -以下のようにリネームする。 --MultiPurposeAuthSite~ Authorization Serverの役割 --MultiPurposeAuthSiteR~ Resource Serverの役割なので末尾に「R」を付与。 --MultiPurposeAuthSiteC~ Clientの役割なので末尾に「C」を付与。 *** MultiPurposeAuthSite.slnファイルを3分割する。 [#yd059af0] -以下のファイルをコピーして複製し、~ C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSite\MultiPurposeAuthSite.sln -以下のようにリネームする。 --MultiPurposeAuthSite.sln --MultiPurposeAuthSiteR.sln --MultiPurposeAuthSiteC.sln -それぞれ*.slnファイルをTextEditorなどで開いて、~ 内部で指しているMultiPurposeAuthSite.csprojへのパスを変更する。 ***MultiPurposeAuthSite.csprojのポート番号を変更する。 [#ne016129] 3サイト同時起動のためMultiPurposeAuthSite.csprojのポート番号を変更する。 -以下のファイルのポート番号部分と重複しないようにする。 --.\MultiPurposeAuthSite\MultiPurposeAuthSite.csproj <IISUrl>http://localhost:63359/MultiPurposeAuthSite/</IISUrl> -ここでは、それぞれ、以下のようにポート番号を変更した。 --.\MultiPurposeAuthSiteR\MultiPurposeAuthSite.csproj <IISUrl>http://localhost:9998/MultiPurposeAuthSite/</IISUrl> --.\MultiPurposeAuthSiteC\MultiPurposeAuthSite.csproj <IISUrl>http://localhost:9999/MultiPurposeAuthSite/</IISUrl> **それぞれのapp.config設定を行う。 [#l40fb6a8] 以下のファイルの設定を変更する。~ C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSite\MultiPurposeAuthSite\app.config ***ユーザストアをDBMSストアに変更する。 [#v0a5dd8f] [[コチラ>汎用認証サイトのファーストステップガイド (2)#zac33f46]]を参考にして、ユーザストアをDBMSストアに変更する。 ***ResourceServerエンドポイントの設定 [#h0c343ca] https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L193 -以下の設定を、 <add key="OAuthResourceServerEndpointsRootURI" value="http://localhost:63359/MultiPurposeAuthSite" /> -のように変更する。 <add key="OAuthResourceServerEndpointsRootURI" value="http://localhost:9998/MultiPurposeAuthSite" /> ***Clientエンドポイントの設定 [#o46824a8] https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L200 -以下の設定を、 <add key="OAuthClientEndpointsRootURI" value="http://localhost:63359/MultiPurposeAuthSite" /> -のように変更する。 <add key="OAuthClientEndpointsRootURI" value="http://localhost:9999/MultiPurposeAuthSite" /> ***設定したapp.configを複製する。 [#eb549865] -設定したapp.configを --C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSite\MultiPurposeAuthSite\app.config -以下の場所に複製します。 --C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSiteR\MultiPurposeAuthSite\app.config --C:\MultiPurposeAuthSite\root\programs\MultiPurposeAuthSiteC\MultiPurposeAuthSite\app.config **3つのサイトをデバッグ実行をする。 [#ma4392a8] 3つのサイトを*.slnファイルから開いてデバッグ実行をする。 *** *.slnファイルからWebサイトを開く [#od8ceca7] -Authorization Serverの役割~ C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSite.sln -Resource Serverの役割~ C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSiteR.sln -Clientの役割~ C:\MultiPurposeAuthSite?\root\programs\MultiPurposeAuthSiteC.sln ***それぞれ、F5を押下してデバッグ実行を開始する。 [#h5547293] -Authorization Serverの役割~ http://localhost:63359/MultiPurposeAuthSite/ -Resource Serverの役割~ http://localhost:9998/MultiPurposeAuthSite/ -Clientの役割~ http://localhost:9999/MultiPurposeAuthSite/ ***Clientから、[[Authorization Codeグラント種別>https://techinfoofmicrosofttech.osscons.jp/index.php?OAuth#yfeb403d]]をテストする。 [#g655411e] -以下のURLからClientにアクセスする。~ http://localhost:9999/MultiPurposeAuthSite/ -ここで[Authorization Codeグラント(client_id, response_type, scope, state)]リンクを押下する。 -すると、Authorization Serverのログイン画面に遷移するのでログインを行う。 -ログイン後に、権限付与画面に遷移するので権限付与を行う。 -すると、Clientに戻ってきて、ここでCodeがBearer Tokenに変換される。 -OAuthAuthorizationCodeGrantClient(テスト用)画面が表示される。 -ここで、GetUserClaimを