- 追加された行はこの色です。
- 削除された行はこの色です。
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>多用途認証サイトのファーストステップガイド]]
*目次 [#n2ceecf2]
#contents
*概要 [#j82b4e07]
[[多用途認証サイト(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への接続文字列を環境に合わせて変更する。
***永続化モード [#w0b90d63]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L88
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
-UseInternetProxy : true
-InternetProxyURL : InternetProxyへのurlを入力
-Proxy credential
--InternetProxyUID : InternetProxy認証のユーザID
--InternetProxyPWD : InternetProxy認証のパスワード
**InternetProxyを使用する機能。 [#s5bebf77]
-[[外部ログイン>#jdc4943e]]
-[[オンライン決済>#y0c8eb4e]]
-[[Notification Provider - SMS(Twilio)>#k68177c5]]
*(9) 外部ログイン [#jdc4943e]
-インターネット接続に問題がなければ、以下の設定で外部ログインが可能になる。
-企業内からテストをする場合は、
--[[社内プロキシ(Internet アクセス用のInternetProxy)の設定>#kfd3c5fb]]を行う。
--また、社内プロキシにフィルタリング機能がある場合、フィルタ解除の申請などが必要になることもある。
**app.configファイルを設定する。 [#fcfa7614]
***Microsoft [#d41dd6ec]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L143
-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#L148
-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#L153
-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にアップデートする必要がある。
**外部ログインをテストする。 [#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]]を消化して動作確認を行う。
-ローカル・ログインを追加する。
-当該 外部ログイン無し状態で外部ログイン。
-当該 外部ログイン有り状態で外部ログイン。
*(10) オンライン決済 [#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
-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
-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%)
*(11) 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]]
**Smtp [#g4bf7146]
以下のSMTP設定を行う。
-https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L98
--SmtpHostName
--SmtpPortNo
--SmtpSSL
--SmtpAccountUID
--SmtpAccountPWD
-以下は、smtp.gmail.comを使用する場合の設定例。
--SmtpHostName : smtp.gmail.com
--SmtpPortNo : 587
--SmtpSSL : true
--SmtpAccountUID : xxxx@gmail.com
--SmtpAccountPWD : xxxxxxxxxxxxxx
***余談 [#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つの情報を取得する。
--Twilio電話番号
--SID
--Token
***以下のSMS(Twilio)設定を行う。 [#w5abc7a6]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L104
-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)の電話番号)