Composer での ThingWorx モデルの定義 > セキュリティ > シングルサインオン認証 > シングルサインオンおよび高可用性の設定
シングルサインオンおよび高可用性の設定
ThingWorx は、高可用性コンフィギュレーションでシングルサインオンをサポートしますが、さらに検討が必要なコンフィギュレーション上の複雑な問題がいくつかあります。
ThingWorx 高可用性 (HA) サーバーごとに、PingFederate を個別に設定する必要があります。各サーバーが同じ物理マシン上で別々のポートを使用しているか、別々のマシン上で同じポートを使用しているかどうかに関係なく、使用される各 PingFederate OAuth クライアントについて、すべてのマシンのコンフィギュレーションが必要です。さらに、サーバーごとに 1 つの PingFederate サービスプロバイダ接続が必要です。
同じマシンに複数の THINGWORX_SSO_SETTINGS サーバーが存在し、それぞれに異なるポートが設定されている場合は、ThingWorx 環境変数を使用してサーバーごとに特定の ssoSecurityConfig ディレクトリを設定する必要があります。各ディレクトリに個別の sso-settings.json ファイルが必要です。このファイルには clientBaseURLmetadataEntityBaseUrl が含まれています。後者にはそのサーバーの完全修飾ドメイン名とポートが含まれています。
ThingWorx 内のコンテンツにアクセスするために使用する URL には、VIP またはプロキシ (HAProxy など) を経由してアクセスする必要があります。HA フェイルオーバーが発生した場合、アプリケーションは特定のポートのプロキシサーバーマシンを経由してコンテンツにアクセスします。このプロキシは、使用可能なマシンに応じて、HA アーキテクチャ内で別のマシンまたはポートへのリダイレクトを行います。
sso-settings.json ファイルの AccessTokenPersistenceSettings セクション内のパラメータは、HA 環境に使用される PostgreSQL コンフィギュレーション/サーバーを使用するように設定し、ThingWorx インストールが同じ PostgreSQL サーバーを示すようにする必要があります。これにより、フェイルオーバー時に一方の ThingWorx からセカンダリサーバーにアクセストークン (権限承認) を引き継ぐことができます。