PingFederate 接続の作成
PingFederate では、アクセストークンまたは認証ユーザーを取得または検証する際に、SSO ソリューションのアプリケーションが接続するクライアントエンドポイントを作成します。SSO ソリューション内でアプリケーションが実行する役割ごとに、別々のクライアントを作成することをお勧めします。これにより、その役割のクライアント内で設定を微調整できます。
ThingWorx SSO の場合は、以下のクライアントを PingFederate で作成する必要があります。
サービスプロバイダとしての ThingWorx 用 SP 接続
サービスプロバイダとしての ThingWorx 用 OAuth クライアント
PingFederate 接続の作成と設定に関する詳しい情報については、PingFederate のドキュメンテーションを参照するか、PingIdentity カスタマーサポートに問い合わせてください。次の手順には、ThingWorx SSO に必要な設定が含まれていますが、各企業の SSO ソリューションには追加の設定が必要になる場合もあります。
サービスプロバイダとしての ThingWorx 用 SP 接続
この接続は SAML 認証のために使用されます。ThingWorx は、ユーザーログインリクエストを PingFederate に転送します。
1. 「IDP Configuration」ページで、「SP Connections」を選択して、「Create New」をクリックします。
2. 「Connection Type」セクションで、「Browser SSO Profiles」を選択して SAML 2.0 プロトコルを指定します。
3. 「Connection Options」セクションで、「Browser SSO」を選択します。
4. 「General Info」セクションで、以下の手順を実行します。
a. 「Partner’s Entity ID (Connection ID)」を一意の値に設定します。sso-settings.json ファイルを設定する際に使用するので、この ID を書き留めておきます。
b. 「Connection Name」フィールドにわかりやすい名前を指定します。これは、SP 接続リスト表示される名前です。
c. 「Base URL」は、Web アプリケーション (ThingWorx) サービスプロバイダがホストされる URL に設定します。
5. 「Protocol Settings」セクションで、「Assertion Consumer Service URL Endpoint」URL:/Thingworx/saml/SSO に設定します。
6. 「Credentials」セクションでは、「Digital Signature Settings」「Selected Certificate」に設定します。
7. 「Signature Verification」セクションで、以下の証明書を追加します。
Signature Verification Certificate: Selected Certificate
Signature Verification Certificate: Selected Encryption Certificate
Select XML Encryption Certificate: Selected Encryption Certificate
8. 新しいサービスプロバイダがアクティブになっていることを確認します。SP 接続を表示します。「Activation & Summary」ページ上部にあるラジオボタンインジケータを「Active」に設定する必要があります。
9. 「保存」をクリックします。
PingFederate は、サービスプロバイダと PingFederate が依存している ID プロバイダの間の接続を橋渡しする、ポリシー契約と呼ばれるメカニズムを使用します。この SP 接続のポリシー契約を作成する必要があります。この際には、SAML アサーションで交換する属性のリストを指定します。
詳細については、 PTC Single Sign-on Architecture and Configuration Overview ガイドの「サードパーティ ID プロバイダの操作」セクションを参照してください。
サービスプロバイダとしての ThingWorx 用 OAuth クライアント
OAuth クライアントは、PingFederate が ThingWorx にアクセストークンを提供するための接続ポイントです。ThingWorx は、これらのアクセストークンを使用して、OAuth によって保護されたリソースをリソースプロバイダに要求します。
1. 「OAuth Settings」ページで、「Clients」を選択して、「Create New」をクリックします。
2. 「Client ID」フィールドに値を入力します。これは、sso settings.json ファイルを設定するときの AuthorizationServersSettings.<AuthServerId>.clientId パラメータの値として使用されます。
3. 「Client Secret」を選択し、クライアントの秘密の値を入力します。この値は、sso settings.json ファイルを設定するときの AuthorizationServersSettings.<AuthServerId>.clientSecret パラメータの値として使用されるので、注意してください。
4. 「Name」フィールドに値を入力します。これは PingFederate のクライアントリストに表示されます。
5. 「Description」フィールドに説明を入力します。
6. 「Redirect URIS」セクションに、ThingWorx サーバーのリダイレクト URI を入力します。例: http://<マイサーバー>:<マイポート>/Thingworx/oauth2_authorization_code_redirect (<マイサーバー> は使用する ThingWorx サーバー)
* 
SSO 用に設定している ThingWorx Core インスタンスに がインストールされている場合、この値を https://<ThingWorx Flow Nginx ホスト名>:<ThingWorx Flow Nginx ポート番号>/Thingworx/oauth2_authorization_code_redirect として指定します。
7. 「Allow Grant Types」セクションで、「Refresh Token」および「Authorization Code」を選択します。
8. 「Persistent Grants Expiration」セクションで、「Grants Do Not Expire」を選択します。
9. 「Refresh Token Rolling Policy」セクションで、「Roll」を選択します。