「[[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]

***インストール [#n47e0254]
**SQL Serverをインストールする。 [#q8e1feb0]
SQL Server(Express可能)をインストールする。

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

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

** *.configの設定 [#vea8c4a3]
** *.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]
***永続化モード [#w0b90d63]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L88

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

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

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

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

** *.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]
サインアップ・ログインを行う。
***サインアップ・ログインを行う。 [#d2604592]
Stripeへのサインアップ・ログインを行う。

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

***WebAPIの認証 [#h0c4ccf0]
***秘密鍵と公開鍵を取得する。 [#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 [#a3f14db3]
***サインアップ・ログイン [#d2604592]
サインアップ・ログインを行う。
**PAY.JP [#y81ab713]
***サインアップ・ログインを行う。 [#r5c210bb]
PAY.JPへのサインアップ・ログインを行う。

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

***WebAPIの認証 [#h0c4ccf0]
***秘密鍵と公開鍵を取得する。 [#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]
[支払元情報の設定]リンクを押下する。

*(11) Notification Providerをテストする [#qcde93fc]
#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]

**本番設定に変更する。 [#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以外

**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

*** [#i218393c]
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?SMS%E9%80%81%E4%BF%A1#refba7b9
***以下のSMS(Twilio)設定を行う。 [#w5abc7a6]
https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/app.config#L104
-TwilioAccountSid : xxxxxxxxxx
-TwilioAuthToken : xxxxxxxxxx
-TwilioFromPhoneNumber : xxxxxxxxxx


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