受け取り人Web(V2)アプリケーションのインストール
Apache HTTPサーバーを使用してSales Portalを展開します。
Apache HTTPサーバーへの受け取り人Webアプリケーションの展開
Postmanで、
payeeweb
テーブルhostname
列を更新する呼び出しを行います。Request POST /admin/models/:modelID/payeeweb Sample Call Path: http://localhost:9101/services/admin/models/:modelID/payeeweb Method POST Body:{ "hostname": "PAYEEWEB_HOSTNAME" }
ヒント
ここにエラーが表示される場合は、トラブルシューティングのヒントの受け取り人Webホスト名をこのモデルに追加できないを参照してください。
Postmanで、モデルテーブルのnew_payeewebを更新する呼び出しを行います。
Request PATCH /admin/tenants/:tenantID/models/:modelID/newPayeewebStatus Sample Call Path: http://localhost:9101/services/admin/tenants/:tenantID/models/:modelID/newPayeewebStatus Method Patch Body:{ "new_payeeweb": true }
Apache
htdocs
フォルダの場所に移動し、受け取り人Webの新しいフォルダを作成します。例では、payeewebv2
フォルダを呼び出します。ヒント
初期設定では、
htdocs
は次の場所にあります:C:\Program Files\Apache Software Foundation\Apache2.2.34\htdocs
httpd.conf
ファイルを開き、<Directory “c:/Program Files/Apache2.2.34/Apache2/htdocs">
で始まるディレクトリセクションを見つけ、そのセクションを次のように編集します。#Alias "/payeewebv2" PATH_TO_PAYEEWEBV2_FOLDER Alias "/payeewebv2" "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2" <Directory "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all# Require all granted DirectoryIndex index.html FallbackResource /payeewebv2/index.html </Directory>
httpd.conf
ファイルを保存します。Apache Webサービスを再起動します。
セールスポータルのHTTPS設定
REST APIのHTTPSが設定されていることを確認してください。
次の場所に移動します。
C:\Program Files\Apache Software Foundation\Apache2.2.16\conf
httpd.conf
ファイルを開きます。VirtualHost *:443
セクションで、タグ内に次の行を追加します。#Alias "/payeewebv2" PATH_TO_PAYEEWEBV2_FOLDER Alias "/payeewebv2" "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2" <Directory "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all# Require all granted DirectoryIndex index.html FallbackResource /payeewebv2/index.html </Directory>
Apache Webサービスを再起動します。
インストールのトラブルシューティング
Webクライアントのバージョン2で、インストールの問題のトラブルシューティングを行います。
受け取り人Webホスト名をこのモデルに追加できない
症状
このエラーは、モデルテーブルのpayeeweb_hostname
列を更新するためにPostmanで呼び出しを行った後に発生します。
{ Message: “Could not add payeeweb hostname to this model” }
原因
このエラーは、受け取り人Webアプリケーションが別のモデルに同じホスト名を設定している場合に発生します。
問題の診断
payeeweb_hostnamecitext
列のPostgreSQLにあるモデルテーブルを確認します。目的外のモデルのホスト名を削除するか、または新しい名前を付けます。
URLが空白のページに移動する
index.html
のパスが正しく設定されていない場合、受け取り人Webバージョン2のURLは空白のページに移動されることがあります。
受け取り人Webバージョン2のURLが空白のページに移動します。
index.html
ファイルでパスが正しく設定されませんでした。
http://{{payeeweb_v1_host}}/payeewebv2
に移動します。Webブラウザの開発者用ツールを開き、[ネットワーク]タブに移動します。
各ネットワーク呼び出しのパスを確認します。
すべての静的ファイルは、 index.html
で設定したパスから取得されます。デフォルトはhttp://{{payeeweb_v1_host}}/payeewebv2/dist/
です。
index.htmlファイルを確認し、すべてのパスが正しく設定されていることを確認します。必要に応じて、モデルへのアクセスの設定の手順を確認します。
受け取り人Web向けSSOの展開
Sales PortalにSSOを展開するには、SSO証明書を生成する必要があります。
key.pemおよびcert.pemの作成
keytoolはJREにバンドルされています。OpenSSLはOpenSSLツールから提供されます。
C:\Program Files\Java\jdk1.8.0_221\bin
に移動し、次のコマンドを入力して、キーストアファイルを生成します。Keytool.exe -genkeypair -alias test -keyalg RSA -keystore keystore.jks
次のコマンドを実行して、キーストアからp12ファイルを抽出します。
Keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias test -deststorepass changeit -destkeypass changeit
ディレクトリを
C:\Program Files\OpenSSL\bin
に変更し、次のコマンドを入力して証明書を取得します。openssl pkcs12 -in keystore.p12 -nokeys -out cert.pem
パスワードを入力するように求められたら、
-deststorepass
のパスワードを入力します。ステップ2でコマンドを入力したのとまったく同じ場合は、changeit
です。次のコマンドを実行して、キーを取得します。
openssl pkcs12 -in keystore.p12 -nodes -nocerts -out key.pem
パスワードを入力するように求められたら、
-deststorepass
のパスワードを入力します。ステップ2でコマンドを入力したのとまったく同じ場合は、changeit
です。
SAML 2.0証明書のアップロード
証明書を作成したら、REST APIを使用してPostgreSQLにアップロードします。
Postmanで次のREST API呼び出しを作成して実行します。
yourServer/services/sso/certs/sp/new Sample Path: http://localhost:9101/services/sso/certs/sp/new Method: POST Body: { "cert_name": "aUniqueCertificateName", "certificate": "yourCertificateValueNoHeaders", "private_key": "yourDecryptedPrivateKeyWithHeaders", "certificate_expiry": "YYYY-MM-DD" }
名前
説明
cert_name
これは、データベースとモデル内で一意である限り、任意の値にできます。
証明書
cert.pem
ファイルを開き、ヘッダーとフッターのBEGIN CERTIFICATE
とEND CERTIFICATE
の間に行をコピーします。これらの行を貼り付け、各行の最後に\n
を追加します。private_key
key.pem
ファイルを開き、BEGIN/END RSA PRIVATE KEY
ヘッダーとフッターを含むすべてのコンテンツをコピーします。これらの行を貼り付け、\n
フッターの後を除く各行の末尾にEND RSA PRIVATE KEY
を追加します。その後、すべての改行文字を削除し、1行に1つの文字列があるようにします。certificate_expiry
これは
cert.pem
からの有効期限です。自分のファイルを見つけるには、cert.pem
ファイルをコピーします。貼り付けて名前をcert.cer
に変更します。これで、証明書を開くことができます。[有効期間開始日]セクションの[一般]タブで有効期限を確認できます。sso
_certificate_key
にすでに存在する証明書の情報が必要な場合は、次の呼び出しを使用できます。GET http://server name:9101/services/sso/certs/sp/all
次の呼び出しを使用して、テナントサービス上のモデルのSSO設定エントリを作成します。
Path: <TenantServices Path>/services/sso/configs/<model_id> Body: { "idp_options": { "sso_login_url": "sso_login_url", "sso_logout_url": "sso_logout_url", "certificates": ["yourIDPCert"], "force_authn": true/false, "sign_get_request": true/false, "allow_unencrypted_assertion": true/false }, "sp_options": { "entity_id_new": "https://<server name>/payeewebv2", "entity_id": "https://<server name>/payeeweb", "assert_endpoint_new": "https://<server name>/services/saml/acs/payeeweb", "assert_endpoint": "https://<server name>/payeeweb/acs.html", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" }, "sp_cert_key_id": "", "nameid_column": "Email_", "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "enable_msal_mobile":false, "msal_id":null, "is_sso_enabled": "true/false", "allow_native_login": true/false, "ignore_signature": true/false }
名前
説明
entity_id_new
受け取り人Webの一意のエンティティID。IdP設定の同じ値と一致する必要があります。
entity_id
受け取り人Webクラシックの一意のエンティティID。IdP設定の同じ値と一致する必要があります。
assert_endpoint_new
<サーバー名は>、受け取り人WebへのフロントエンドURLで、後にエンドポイント
'/services/saml/acs/payeeweb'
が続きます。フロントエンドURL は、postgres
データベースの受け取り人Webテーブルで設定されたhostname
列と一致する必要があります。<サーバー名>の後にエイリアスを含めないでください。
hostname
がHTTPのみで設定されている場合は、HTTPSを含めないでください。
assert_endpoint_new
<サーバー名は>、受け取り人WebクラシックへのフロントエンドURLで、後にエンドポイント
'/payeeweb/acs.html'
が続きます。hostname
がHTTPのみで設定されている場合は、HTTPSを含めないでください。
注記
受け取り人Webクラシックまたは受け取り人Webを使用していない場合は、属性にダミー値を入力します。これはAPI呼び出しの構文に必要です。
フロントエンドURLでHTTPSを使用する場合、
default.json
呼び出しが成功するには、テナントサービスの'/sso_redirect'
ファイルに追加の設定が必要です。default.json
で、payeeweb.port
とpayeeweb.protocol
を次のように変更します。"Payeeweb": { "port": "443", "protocol": "https", "path": { "sso_redirect": "/payeewebv2/sso_redirect" }
重要
この手順は、受け取り人WebのSSO対応のログインループを防止するために必要です。
次の呼び出しを使用して、テナントサービスからspメタデータをダウンロードします。
Path: <TenantServices Path>/services/sso/configs/<model_id>/metadata?isNew=true Method: GET Content-Type: application/xml Sample Path: http://localhost:9101/services/sso/configs/1/metadata?isNew=true
受け取り人Webへのログイン
Sales PortalのURLをWebブラウザに入力します。URLの形式は、アプリケーションサーバーのホスト名またはIPの後に Apache HTTPDのポートが続き、
/payeewebv2
で終わる形式です。http://hostname:80/payeewebv2
ヒント
空白のページが表示された場合は、トラブルシューティングのヒントのURLが空白のページに移動するを参照してください。
Web対応の受け取り人の資格情報を使用してログインします。
ヒント
[グループ]タブに移動してグループを選択し、 ボタンをクリックすると、ポータル・アクセスで受け取り人を有効にすることができます。 チェックボックスを選択します。また、このウィンドウからパスワードをリセットすることもできます。
成功すると、Sales Portalホームページが表示されます。ポータル・アクセスでWebタブを設定した場合、レポートが表示されます。
Salesforce.comとの統合
Varicent® SPM(Sales Performance Management)Webクライアントは、Salesforce.comと統合して、Salesforce.comからアクセスできるように設定できます。
Salesforce.com用のWebクライアントの設定
Varicent® SPM(Sales Performance Management)Webクライアントをインストールした後、web.xml
WebクライアントがSalesforce.comからアクセスできるようにWeb設定ファイルを変更する必要があります。VaricentWebクライアントを最初に展開する必要があります。
デフォルトでは次の場所にある、
web.xml
ファイルに移動します:...\webapps\ICM\WEB-INF
Parameters
セクションで、security.xml
をsecurity-salesforce-composite.xml
に変更します。ファイルを保存した後、変更を有効にするためにVaricentWebクライアントを再起動します。
Salesforce.comからのWebクライアントへのアクセス
Salesforce内のタブからIncentivesWebクライアントにアクセスできるようにします。
作成したモデルが必要です。モデルでは、Salesforce.comにログインしているユーザーと同じ電子メールアドレスを持つ受け取り人を作成する必要があります。その受け取り人をワークフロー・グループに追加し、Webアクセスを有効にする必要があります。Webクライアントも展開する必要があります。
管理者権限を持つユーザーIDでSalesforce.comにログインします。
ユーザー名をクリックしてドロップダウンメニューにアクセスし、[設定]を選択します。
[アプリケーションの設定]セクションで、 → をクリックします。
[Webタブ]セクションで[新規]をクリックします。
これにより、Salesforce.comウィンドウ内にVaricentコンテンツを表示するカスタムタブを作成できます。
次のいずれかのオプションを選択できます。
オプション
説明
全ページ幅
全ページ幅を使用して、VaricentWebクライアントを表示します。
Salesforceサイドバー付き2列
このオプションは、Salesforce.comのサイドバーを表示します。
選択が完了したら、[次へ]をクリックします。
次の手順を実行して、Varicentタブのコンテンツと表示プロパティを定義します。
[タブコンテンツの定義]セクションで、[タブタイプ]メニューから[URL]を選択します。
[タブラベル]フィールドに、ラベルに表示するテキストを入力します。
[タブ名]フィールドで、タブに一意の名前を付けます。これは、タブラベルと同じにすることができます。
スタイル画面から[タブスタイル]を選択して、タブの色を選択します。
[コンテンツフレームの高さ]フィールドでは、Varicentコンテンツフレームの高さ(ピクセル単位)を指定できます。
800ピクセル以上のフレームの高さを指定します。
[URL]フィールドに、次の文字列を貼り付け、必要に応じてパラメーターを置き換えます。
http://localhost:8080/payeeweb/sforce_composite_login?SessionId={!API.Session_ID}&ServerURL={!API.Partner_Server_URL_540}&Tenant=TENANTNAME&Model=MODELNAME
パラメーター
説明
http://localhost:8080/payeeweb
これは、WebアプリケーションのURLです。
例:
https://tenant-model-trunk.spm.ibmcloud.com/payeeweb
TENANTNAME
これはテナントの名前です。
Varicentクラウドで使用している場合は、テナント名について IBMのサポートにお問い合わせください。
MODELNAME
これはモデルの名前です。
エンコードをUnicode(UTF-8)に設定します。
[保存]をクリックします。
これで、新しく作成したタブからVaricentWebクライアントにアクセスできるようになります。このタブをクリックすると、SSOを使用するSalesforce.comユーザーと同じ電子メールアドレスを持つユーザーとして、Webクライアントにログインされます。
Webクライアントの外観
Webクライアントの異なるWebユーザーへのWebタブの表示方法は、Varicent® SPM(Sales Performance Management)クライアントのポータル・アクセスモジュールで設定します。
詳細については、「ユーザーガイド」のポータル・アクセスのセクションを参照してください。