Authentification unique et configurations haute disponibilité
Bien que ThingWorx prenne en charge l'authentification unique dans les configurations haute disponibilité, quelques difficultés supplémentaires de configuration doivent être prises en considération.
◦ Pour chaque serveur haute disponibilité (HA) ThingWorx, vous devez configurer PingFederate séparément. Que les serveurs soient sur la même machine physique et utilisent différents ports ou qu'ils soient sur des machines distinctes avec le même port, toutes les machines nécessitent une configuration dans chaque client OAuth PingFederate utilisé. Par ailleurs, une connexion du fournisseur de services PingFederate est requise par serveur.
◦ Si plusieurs serveurs ThingWorx existent sur la même machine, mais qu'ils disposent chacun d'un port configuré différent, l'utilisation de la variable d'environnement THINGWORX_SSO_SETTINGS est nécessaire pour définir un répertoire ssoSecurityConfig spécifique pour chaque serveur. Chaque répertoire nécessite son propre fichier sso-settings.json contenant clientBaseURL et metadataEntityBaseUrl, qui contient le nom de domaine complet avec le port du serveur.
◦ Toute URL utilisée pour accéder à du contenu dans ThingWorx doit plutôt être atteinte via une adresse IP virtuelle ou un proxy tel que HAProxy. Ainsi, en cas d'un éventuel failover de la haute disponibilité, les applications accèdent au contenu via la machine du serveur proxy sur un port spécifique. Ce proxy assure la redirection vers d'autres machines ou ports de l'architecture haute disponibilité en fonction de la machine disponible.
Il est nécessaire de configurer les paramètres de la section AccessTokenPersistenceSettings du fichier sso-settings.json pour utiliser la configuration ou le serveur PostgreSQL utilisé pour l'environnement haute disponibilité avec les installations ThingWorx pointant vers le même serveur PostgreSQL. Cela permet aux jetons d'accès (autorisation d'accès) d'être transférés de l'environnement ThingWorx haute disponibilité primaire vers le secondaire en cas de failover.