「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
汎用認証サイト(Multi-purpose Authentication Site)
の導入前の評価を行うためのファーストステップガイド。
(7) ユーザストアをメモリストアからDBMSに変更する †
SQL Serverをインストールする。 †
SQL Server(Express可能)をインストールする。
ユーザストアを作成する。 †
以下の場所にあるSQLを実行してユーザストアを作成する。
C:\MultiPurposeAuthSite?\root\files\resource\Sql\sqlserver
- Create_UserStore?.sql
- Select_UserStore?.sql(確認用)
*.configファイルを設定する。 †
接続文字列 †
Web.configファイルのconnectionStrings セクションにあるConnectionString_SQL
パラメタに設定されているSQL Serverへの接続文字列を環境に合わせて変更する。
永続化モード †
app.configファイルに設定されているUserStoreType を "mem" ---> "sql" に変更する。
永続化を確認する。 †
上記の設定が完了したら疎通確認として、
サインアップ・サインイン・サインアウトを行う。
メモリストアと異なり、SQL Serverのモードでは、
サインアップしたアカウント情報が永続化されるため、
デバッグを停止してもアカウント情報が残ることを確認する。
(8) Internet アクセス用のInternetProxy?を設定する。 †
企業内から社内プロキシ経由で評価する場合に、
Internetアクセス用のInternetProxy?を設定する。
app.configファイルを設定する。 †
app.configファイルに設定されている各種プロキシの設定 を変更する。
- UseInternetProxy? : true
- InternetProxyURL : InternetProxy?へのurlを入力
- Proxy credential
- InternetProxyUID : InternetProxy?認証のユーザID
- InternetProxyPWD : InternetProxy?認証のパスワード
InternetProxy?を使用する機能。 †
(9) アカウント(ユーザ・ロール)の管理 †
- アカウント(ユーザ・ロール)の管理画面でユーザ・ロールの管理が可能。
- アカウント(ユーザ・ロール)の管理画面には、システム管理者アカウントでアクセスする必要がある。
ユーザ管理画面 †
- ユーザ管理画面では以下のようなユーザのCRUD操作が可能である。
- なお、E-mailアドレスの作成・変更の際のE-mailアドレスの確認(E-mail confirmation)は行われない。
一覧 †
- 一覧には、*.configに指定した件数までしか表示されない。
- 条件検索は、UserName?フィールドに対して中間一致のLike検索が行われる。
作成 †
- オーナーは作成したユーザアカウントになる
(オーナーが作成したアカウントの所有権を持つ)。
- 以下のロールのみ設定可能。
- 自分が属するグローバル ロール
- 自分が所有するロール(所有していれば属する必要はない)
詳細 †
編集 †
- 以下のロールのみ設定可能。
- 自分が属するグローバル ロール
- 自分が所有するロール(所有していれば属する必要はない)
削除 †
ロール管理画面 †
ロール管理画面では以下のようなユーザのCRUD操作が可能である。
一覧 †
- 一覧には、*.configに指定した件数までしか表示されない。
作成 †
- オーナーは作成したユーザアカウントになる
(オーナーが作成したロールの所有権を持つ)。
詳細 †
編集 †
削除 †
(10) 外部ログイン †
- インターネット接続に問題がなければ、以下の設定で外部ログインが可能になる。
- 企業内からテストをする場合は、
app.configファイルを設定する。 †
app.configファイルに設定されている各種外部ログイン・サービスの設定 を変更する。
Microsoft †
- MicrosoftAccountAuthentication? : true
- 以下の値は、ココを参考にして取得する。
- xxxxx ClientId? : xxxx
- xxxxx ClientSecret? : xxxx
- MicrosoftAccount?側にエンドポイントの設定などを行う。
Google †
- GoogleAuthentication? : true
- 以下の値は、ココを参考にして取得する。
- xxxxx ClientId? : xxxx
- xxxxx ClientSecret? : xxxx
Facebook †
- FacebookAuthentication? : true
- 以下の値は、ココを参考にして取得する。
- 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
外部ログインをテストする。 †
サインアップ or ログイン画面に遷移する。 †
サインアップ or ログイン画面に遷移すると、以下のように、
ソーシャルログイン部分ビューに外部ログインのボタンを確認できる。
外部のIdpにサインアップする。 †
以下は、[Microsoft]ボタンを選択し、マイクロソフトアカウントにサインアップするところ。
サインインを確認する。 †
サインイン後、アカウント編集などができることを確認する。
その他のテストケースを確認する。 †
外部ログインには、その他、色々なテストケースがある。
必要に応じて、これらのテストケースを消化して動作確認を行う。
- 当該 外部ログイン無し状態で外部ログイン。
ローカル・ログインが有り、外部ログインが無い状態で、新規の外部ログインを行う。
- 当該 外部ログイン有り状態で外部ログイン。
ローカル・ログインが有り、外部ログインも有る状態で、追加の外部ログインを行う。
(11) オンライン決済 †
- インターネット接続に問題がなければ、以下の設定でオンライン決済が可能になる。
- 企業内からテストをする場合は、
どちらか一方を設定する。
Stripe †
サインアップ・ログインを行う。 †
Stripeへのサインアップ・ログインを行う。
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Stripe#x4c2914d
秘密鍵と公開鍵を取得する。 †
テスト・モードの秘密鍵と公開鍵を取得する。
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Stripe#md7319a7
app.configファイルを設定する。 †
app.configファイルに設定されている各種オンライン決済サービスの設定 を変更する。
- EnableStripe? : true
- Stripe_PK : (テスト環境の)公開鍵を設定
- Stripe_SK : (テスト環境の)秘密鍵を設定
PAY.JP †
サインアップ・ログインを行う。 †
PAY.JPへのサインアップ・ログインを行う。
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PAY.JP#r2ac8044
秘密鍵と公開鍵を取得する。 †
テスト・モードの秘密鍵と公開鍵を取得する。
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PAY.JP#k4b617b8
app.configファイルを設定する。 †
app.configファイルに設定されている各種オンライン決済サービスの設定 を変更する。
- EnablePAYJP : true
- PAYJP_PK : (テスト環境の)公開鍵を設定
- PAYJP_SK : (テスト環境の)秘密鍵を設定
オンライン決済をテストする。 †
アカウント編集画面に遷移する。 †
[支払元情報の設定]リンクを押下する。
テスト用カード情報を入力する。 †
テスト用カード情報を入力して、[送信]ボタンを押下する
テスト用の課金処理を行う。 †
アカウント編集画面に遷移するので、[課金する]リンクを押下する。
ダッシュボードで課金を確認する。 †
オンライン決済サービスにサインインし、ダッシュボード(テストモード)で課金を確認する。
(12) Notification Providerをテストする。 †
各Notification Providerにアクセス可能な環境でテストを行うこと。
本番設定に変更する。 †
- 通知処理を行う場合に、
- Visual Studioのデバッグ画面ではなく、
- Notification Providerを使用する場合、
app.confgiの設定を本番設定に変更する必要がある。
- app.confgiの下記の設定を変更し、本番用の設定にする。
Smtp †
以下のSMTP設定を行う。
- SmtpHostName?
- SmtpPortNo?
- SmtpSSL
- SmtpAccountUID
- SmtpAccountPWD
gmail †
- 以下は、smtp.gmail.comを使用する場合の設定例。
- SmtpHostName? : smtp.gmail.com
- SmtpPortNo? : 587
- SmtpSSL : true
- SmtpAccountUID : xxxx@gmail.com
- SmtpAccountPWD : xxxxxxxxxxxxxx
余談(gmail) †
- なお、認証エラー時は、[安全性の低いアプリの許可]を[有効]にする。
- 新しい、SMTPクライアントがリリースされた模様。
SMS(Twilio) †
サインインしアカウント情報を取得 †
以下のSMS(Twilio)設定を行う。 †
- 以下の3つのパラメタを設定する。
- TwilioAccountSid? : xxxxxxxxxx
- TwilioAuthToken? : xxxxxxxxxx
- TwilioFromPhoneNumber? : xxxxxxxxxx
Notification Providerの動作を確認する。 †
- サインアップ(E-mail confirmation)→電話番号登録などで、
SMTPとSMSのNotification Providerの動作を確認する。
- なお、SMS(Twilio)の電話番号は、日本の国コードである+81
から始まる「国際電話の電話番号」として入力する必要がある。