「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>汎用認証サイトのファーストステップガイド]]
--[[汎用認証サイトのファーストステップガイド (1)]]
--汎用認証サイトのファーストステップガイド (2)
--[[汎用認証サイトのファーストステップガイド (3)]]
--[[ファーストステップ (1)>汎用認証サイトのファーストステップガイド (1)]]
--ファーストステップ (2)
--[[ファーストステップ (3)>汎用認証サイトのファーストステップガイド (3)]]
--[[ファーストステップ (4)>汎用認証サイトのファーストステップガイド (4)]]
--[[ファーストステップ (5)>汎用認証サイトのファーストステップガイド (5)]]
--[[ファーストステップ (6)>汎用認証サイトのファーストステップガイド (6)]]
--[[ファーストステップ (7)>汎用認証サイトのファーストステップガイド (7)]]

*目次 [#n2ceecf2]
#contents

*概要 [#j82b4e07]
[[汎用認証サイト(Multi-purpose Authentication Site)]]の導入前の評価を行うためのファーストステップガイド。
[[汎用認証サイト(Multi-purpose Authentication Site)]]~
の導入前の評価を行うためのファーストステップガイド。

*(7) ユーザストアをメモリストアからDBMSに変更する [#zac33f46]
**SQL Serverをインストールする。 [#q8e1feb0]
SQL Server(Express可能)をインストールする。

**ユーザストアを作成する。 [#n597a8dc]
以下の場所にあるSQLを実行してユーザストアを作成する。~
C:\MultiPurposeAuthSite\root\files\resource\Sql\sqlserver

-Create_UserStore.sql
-Select_UserStore.sql(確認用)

** *.configファイルを設定する。 [#vea8c4a3]

***接続文字列 [#c0414ee9]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/Web.config#L15

Web.configファイルのconnectionStrings セクションにある~
ConnectionString_SQLパラメタに設定されている~
SQL Serverへの接続文字列を環境に合わせて変更する。
[[Web.configファイルのconnectionStrings セクション>汎用認証サイトのコンフィギュレーション#r1d90b3b]]にあるConnectionString_SQL~
パラメタに設定されているSQL Serverへの接続文字列を環境に合わせて変更する。

***永続化モード [#w0b90d63]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L88
[[app.configファイルに設定されているUserStoreType>汎用認証サイトのコンフィギュレーション#y8c5ea41]] を "mem" ---> "sql" に変更する。

app.configファイルに設定されているUserStoreType を "mem" ---> "sql" に変更する。

**永続化を確認する。 [#u54d55f5]
上記の設定が完了したら疎通確認として、~
サインアップ・サインイン・サインアウトを行う。

メモリストアと異なり、SQL Serverのモードでは、~
サインアップしたアカウント情報が永続化されるため、~
デバッグを停止してもアカウント情報が残ることを確認する。

*(8) Internet アクセス用のInternetProxyを設定する。 [#kfd3c5fb]
企業内から社内プロキシ経由で評価する場合に、~
Internetアクセス用のInternetProxyを設定する。

** app.configファイルを設定する。 [#leb01720]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L50
[[app.configファイルに設定されている各種プロキシの設定>汎用認証サイトのコンフィギュレーション#eaae3b42]] を変更する。

-UseInternetProxy : true
-InternetProxyURL : InternetProxyへのurlを入力
-Proxy credential
--InternetProxyUID : InternetProxy認証のユーザID
--InternetProxyPWD : InternetProxy認証のパスワード

**InternetProxyを使用する機能。 [#s5bebf77]
-[[外部ログイン>#jdc4943e]]
-[[オンライン決済>#y0c8eb4e]]
-[[Notification Provider - SMS(Twilio)>#k68177c5]]

*(9) アカウント・ロールの管理 [#f0c1d26f]
-アカウント・ロールの管理画面でアカウント・ロールの管理が可能。
-アカウント・ロールの管理画面には、権限のあるアカウントでアクセスする必要がある。
*(9) アカウント(ユーザ・ロール)の管理 [#f0c1d26f]
-アカウント(ユーザ・ロール)の管理画面でユーザ・ロールの管理が可能。
-アカウント(ユーザ・ロール)の管理画面には、システム管理者アカウントでアクセスする必要がある。

#ref(Administration.png,left,nowrap,管理画面への遷移)

**ユーザ管理画面 [#c92e02df]
-ユーザ管理画面では以下のようなユーザのCRUD操作が可能である。
-なお、E-mailアドレスの作成・変更の際のE-mailアドレスの確認(E-mail confirmation)は行われない。

***一覧 [#j83c25a7]
-一覧には、*.configに指定した件数までしか表示されない。
-条件検索は、UserNameフィールドに対して中間一致のLike検索が行われる。
-E-mailアドレスの作成・変更の際のE-mailアドレスの確認(E-mail confirmation)は行われない。

#ref(UserAdministration.png,left,nowrap,ユーザ管理画面)
-ユーザ管理 一覧画面のイメージ
>
#ref(UserAdministration.png,left,nowrap,ユーザ管理画面 一覧)

***作成 [#u8b7aa46]
-[新規作成]ボタンで遷移する。

-オーナーは作成したユーザアカウントになる~
(オーナーが作成したアカウントの所有権を持つ)。

-以下のロールのみ設定可能。
--自分が属するグローバル ロール
--自分が所有するロール(所有していれば属する必要はない)

-ユーザ管理 作成画面のイメージ
>
#ref(UserAdministrationCreate.png,left,nowrap,ユーザ管理画面 作成)

***詳細 [#ge14929c]
-[ユーザーの詳細]ボタンで遷移する。

-ユーザ管理 詳細画面のイメージ
>
#ref(UserAdministrationReference.png,left,nowrap,ユーザ管理画面 詳細)

***編集 [#r3bf781e]
-[ユーザーの編集]ボタンで遷移する。

-以下のロールのみ設定可能。
--自分が属するグローバル ロール
--自分が所有するロール(所有していれば属する必要はない)

-ユーザ管理 編集画面のイメージ
>
#ref(UserAdministrationUpdate.png,left,nowrap,ユーザ管理画面 編集)

***削除 [#o7438645]
-[ユーザーの削除]ボタンで遷移する。

-ユーザ管理 削除画面のイメージ
>
#ref(UserAdministrationDelete.png,left,nowrap,ユーザ管理画面 削除)

**ロール管理画面 [#t607e661]
ロール管理画面では以下のようなユーザのCRUD操作が可能である。

#ref(RoleAdministration.png,left,nowrap,ロール管理画面)
***一覧 [#uc041267]
-一覧には、*.configに指定した件数までしか表示されない。

-ロール管理 一覧画面のイメージ
>
#ref(RoleAdministration.png,left,nowrap,ロール管理画面 一覧)

***作成 [#u8b7aa46]
-[新規作成]ボタンで遷移する。

-オーナーは作成したユーザアカウントになる~
(オーナーが作成したロールの所有権を持つ)。

-ロール管理 作成画面のイメージ
>
#ref(RoleAdministrationCreate.png,left,nowrap,ロール管理画面 作成)

***詳細 [#ge14929c]
-[ロールの詳細]ボタンで遷移する。

-ロール管理 詳細画面のイメージ
>
#ref(RoleAdministrationReference.png,left,nowrap,ロール管理画面 詳細)

***編集 [#r3bf781e]
-[ロールの編集]ボタンで遷移する。

-ロール管理 編集画面のイメージ
>
#ref(RoleAdministrationUpdate.png,left,nowrap,ロール管理画面 編集)

***削除 [#o7438645]
-[ロールの削除]ボタンで遷移する。

-ロール管理 削除画面のイメージ
>
#ref(RoleAdministrationDelete.png,left,nowrap,ロール管理画面 削除)

*(10) 外部ログイン [#jdc4943e]
-インターネット接続に問題がなければ、以下の設定で外部ログインが可能になる。
-企業内からテストをする場合は、
--[[社内プロキシ(Internet アクセス用のInternetProxy)の設定>#kfd3c5fb]]を行う。
--また、社内プロキシにフィルタリング機能がある場合、フィルタ解除の申請などが必要になることもある。

**app.configファイルを設定する。 [#fcfa7614]
[[app.configファイルに設定されている各種外部ログイン・サービスの設定>汎用認証サイトのコンフィギュレーション#uc4663b1]] を変更する。

***Microsoft [#d41dd6ec]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L147
-MicrosoftAccountAuthentication : true
-以下の値は、[[ココ>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#j12cae65]]を参考にして取得する。
--xxxxx ClientId : xxxx
--xxxxx ClientSecret : xxxx

-MicrosoftAccount側にエンドポイントの設定などを行う。

***Google [#k596ace6]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L152
-GoogleAuthentication : true
-以下の値は、[[ココ>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#n8dd8918]]を参考にして取得する。
--xxxxx ClientId : xxxx
--xxxxx ClientSecret : xxxx

-Google側にエンドポイントの設定などを行う。

***Facebook [#ke7e5bfe]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L157
-FacebookAuthentication : true
-以下の値は、[[ココ>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#lce246f9]]を参考にして取得する。
--xxxxx ClientId : xxxx
--xxxxx ClientSecret : xxxx

-Facebook側にエンドポイントの設定などを行う。

※ 3.0.1のライブラリが動作しなくなっている模様、3.1.0にアップデートする必要がある。~
http://stackoverflow.com/questions/22364442/asp-net-mvc5-owin-facebook-authentication-suddenly-not-working

**外部ログインをテストする。 [#e853f82c]

***サインアップ or ログイン画面に遷移する。 [#l55ec0e9]
サインアップ or ログイン画面に遷移すると、以下のように、~
ソーシャルログイン部分ビューに外部ログインのボタンを確認できる。

#ref(ExternalLogin1.png,left,nowrap,外部ログイン1)

***外部のIdpにサインアップする。 [#n80372df]
以下は、[Microsoft]ボタンを選択し、マイクロソフトアカウントにサインアップするところ。

#ref(ExternalLogin2.png,left,nowrap,外部ログイン2)

***サインインを確認する。 [#lc3c3b1d]
サインイン後、[[アカウント編集>汎用認証サイトのファーストステップガイド (1)#f41ac715]]などができることを確認する。

#ref(ExternalLogin3.png,left,nowrap,外部ログイン3)

***その他のテストケースを確認する。 [#c18e953e]
外部ログインには、その他、[[色々なテストケース>https://opentouryo.osscons.jp/index.php?%E5%A4%9A%E7%94%A8%E9%80%94%E8%AA%8D%E8%A8%BC%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E5%8B%95%E4%BD%9C%E6%A4%9C%E8%A8%BC#l4e00450]]がある。~
必要に応じて、[[これらのテストケース>https://opentouryo.osscons.jp/index.php?%E5%A4%9A%E7%94%A8%E9%80%94%E8%AA%8D%E8%A8%BC%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E5%8B%95%E4%BD%9C%E6%A4%9C%E8%A8%BC#l4e00450]]を消化して動作確認を行う。
外部ログインには、その他、[[色々なテストケース>汎用認証サイトの動作検証#x929aa7a]]がある。~
必要に応じて、[[これらのテストケース>汎用認証サイトの動作検証#x929aa7a]]を消化して動作確認を行う。

-ローカル・ログインを追加する。

-当該 外部ログイン無し状態で外部ログイン。~
ローカル・ログインが有り、外部ログインが無い状態で、新規の外部ログインを行う。

-当該 外部ログイン有り状態で外部ログイン。~
ローカル・ログインが有り、外部ログインも有る状態で、追加の外部ログインを行う。

*(11) オンライン決済 [#y0c8eb4e]

-インターネット接続に問題がなければ、以下の設定でオンライン決済が可能になる。
-企業内からテストをする場合は、
--[[社内プロキシ(Internet アクセス用のInternetProxy)の設定>#kfd3c5fb]]を行う。
--また、社内プロキシにフィルタリング機能がある場合、フィルタ解除の申請などが必要になることもある。

-なお、オンライン決済の設定は
--[[Stripe>#a3f14db3]]か
--[[PAY.JP>#a3f14db3]]の

>どちらか一方を設定する。

**Stripe [#a3f14db3]
***サインアップ・ログインを行う。 [#d2604592]
Stripeへのサインアップ・ログインを行う。

https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Stripe#x4c2914d

***秘密鍵と公開鍵を取得する。 [#h0c4ccf0]
テスト・モードの秘密鍵と公開鍵を取得する。

https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Stripe#md7319a7

***app.configファイルを設定する。 [#o604eeee]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L71
[[app.configファイルに設定されている各種オンライン決済サービスの設定>汎用認証サイトのコンフィギュレーション#p10405d7]] を変更する。

-EnableStripe : true
-Stripe_PK : (テスト環境の)公開鍵を設定
-Stripe_SK : (テスト環境の)秘密鍵を設定

**PAY.JP [#y81ab713]
***サインアップ・ログインを行う。 [#r5c210bb]
PAY.JPへのサインアップ・ログインを行う。

https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PAY.JP#r2ac8044

***秘密鍵と公開鍵を取得する。 [#o4df7224]
テスト・モードの秘密鍵と公開鍵を取得する。

https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PAY.JP#k4b617b8

***app.configファイルを設定する。 [#wa728842]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L75
[[app.configファイルに設定されている各種オンライン決済サービスの設定>汎用認証サイトのコンフィギュレーション#p10405d7]] を変更する。

-EnablePAYJP : true
-PAYJP_PK : (テスト環境の)公開鍵を設定
-PAYJP_SK : (テスト環境の)秘密鍵を設定

**オンライン決済をテストする。 [#h5e65159]
***アカウント編集画面に遷移する。 [#tbd6c6d2]
[支払元情報の設定]リンクを押下する。

#ref(OnlinePayment1.png,left,nowrap,オンライン決済1)

***テスト用カード情報を入力する。 [#n6d334d2]
テスト用カード情報を入力して、[送信]ボタンを押下する

#ref(OnlinePayment2.png,left,nowrap,オンライン決済2)

***テスト用の課金処理を行う。 [#za5f6e20]
アカウント編集画面に遷移するので、[課金する]リンクを押下する。

#ref(OnlinePayment3.png,left,nowrap,オンライン決済3)

***ダッシュボードで課金を確認する。 [#ee1644b9]
オンライン決済サービスにサインインし、ダッシュボード(テストモード)で課金を確認する。

#ref(OnlinePayment4.png,left,nowrap,オンライン決済4,60%)

*(12) Notification Providerをテストする。 [#qcde93fc]
各Notification Providerにアクセス可能な環境でテストを行うこと。

**本番設定に変更する。 [#a22cb0cf]
-通知処理を行う場合に、
--Visual Studioのデバッグ画面ではなく、
--Notification Providerを使用する場合、

>app.confgiの設定を本番設定に変更する必要がある。

-app.confgiの下記の設定を変更し、本番用の設定にする。
--https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L85
---IsDebug : false
 
--https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L88
---[[UserStoreType : mem以外>#zac33f46]]
--[[IsDebug : false>汎用認証サイトのコンフィギュレーション#v443d7eb]]
--[[UserStoreType : mem以外>汎用認証サイトのコンフィギュレーション#y8c5ea41]]

**Smtp [#g4bf7146]
以下のSMTP設定を行う。
[[以下のSMTP設定を行う>汎用認証サイトのコンフィギュレーション#f546ce4b]]。

-https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L102
--SmtpHostName
--SmtpPortNo
--SmtpSSL
--SmtpAccountUID
--SmtpAccountPWD

***gmail [#t58a14f0]
-以下は、smtp.gmail.comを使用する場合の設定例。
--SmtpHostName : smtp.gmail.com
--SmtpPortNo : 587
--SmtpSSL : true
--SmtpAccountUID : xxxx@gmail.com
--SmtpAccountPWD : xxxxxxxxxxxxxx

***余談 [#uc055c84]
***余談(gmail) [#uc055c84]
-なお、認証エラー時は、[安全性の低いアプリの許可]を[有効]にする。

--Tech TIPS:メーラーからGmailへの接続時に~
認証(パスワード)のエラーが生じる場合の対処方法 (1/2) - @IT~
http://www.atmarkit.co.jp/ait/articles/1409/03/news109.html

-新しい、SMTPクライアントがリリースされた模様。
--MailKitが公式に.NETのSmtpClientを置き換えることを明らかにした。~
https://www.infoq.com/jp/news/2017/04/MailKit-MimeKit-Official
--NuGet Gallery | MailKit~
https://www.nuget.org/packages/MailKit/

**SMS(Twilio) [#k68177c5]
***サインインしアカウント情報を取得 [#r027aa7a]
-https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?SMS%E9%80%81%E4%BF%A1#refba7b9~
以下の3つの情報を取得する。
上記を参考にして、以下の3つの情報を取得する。
--Twilio電話番号
--SID
--Token

***以下のSMS(Twilio)設定を行う。 [#w5abc7a6]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L108
-TwilioAccountSid : xxxxxxxxxx
-TwilioAuthToken : xxxxxxxxxx
-TwilioFromPhoneNumber : xxxxxxxxxx
-[[以下の3つのパラメタを設定する。>汎用認証サイトのコンフィギュレーション#f546ce4b]]
--TwilioAccountSid : xxxxxxxxxx
--TwilioAuthToken : xxxxxxxxxx
--TwilioFromPhoneNumber : xxxxxxxxxx

**Notification Providerの動作を確認する。 [#k085de39]
-サインアップ(E-mail confirmation)→電話番号登録などで、~
SMTPとSMSのNotification Providerの動作を確認する。

-なお、SMS(Twilio)の電話番号は、日本の国コードである+81~
から始まる「国際電話の電話番号」として入力する必要がある。

#ref(SMS(Twilio).png,left,nowrap,SMS(Twilio)の電話番号)


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