Désactivation des contrôles d'hôte dans l'authentification de jeton

Dans l'authentification de jeton, le serveur Spectrum™ Technology Platform examine le jeton présenté par le client avant de répondre à la requête. Le serveur vérifie le jeton pour voir s'il a expiré, s'il est correctement chiffré et s'il provient de l'hôte correct. Pour les jetons de session, le serveur vérifie également l'ID de session. Si l'un de ces contrôles échoue, le jeton est rejeté et le serveur ne répond pas à la requête.

Dans un environnement en cluster, il est possible de rediriger les requêtes de sorte qu'elles semblent provenir d'un hôte différent de celui spécifié dans le jeton, ce qui entraîne des erreurs de « jeton non valide ». Par exemple, imaginons que vous disposiez d'un cluster comportant deux nœuds, comme indiqué ici :



Admettons que le client envoie une requête et que la requête soit routée vers le nœud 1. Un jeton est créé et lié à l'hôte 2.2.2.2 (l'équilibreur de charge), car le nœud considère que la requête provient de l'équilibreur de charge. Si la requête suivante du client est routée vers le nœud 2, le jeton est toujours lié à l'hôte 2.2.2.2, mais la requête semble provenir du serveur proxy, 3.3.3.3. Dans ce cas, le nœud rejette le jeton, parce qu'il semble qu'il n'est pas associé à l'hôte qui envoie la requête.

Dans ce cas, vous devez configurer le serveur Spectrum™ Technology Platform pour qu'il ignore les informations d'hôte incluses dans le jeton. Cela doit être effectué uniquement si vous disposez d'un environnement dans lequel il existe différents périphériques réseau entre l'équilibreur de charge et les nœuds. Si tous les nœuds sont derrière le même périphérique réseau, il n'est pas nécessaire pour désactiver le contrôle d'hôte.

Remarque : Si vous suivez cette procédure, les jetons client deviennent des jetons « ouverts », car le contrôle d'hôte est désactivé. Les jetons de session continuent à être liés à un ID de session spécifique, mais pas à un hôte spécifique.
  1. Ouvrez le fichier de propriétés suivant sur le serveur Spectrum™ Technology Platform :

    SpectrumLocation/server/app/conf/spectrum-container.properties

  2. Réglez la propriété suivante sur false.
    spectrum.security.authentication.token.remoteClientCheck.enabled=false
  3. Enregistrez et fermez le fichier de propriétés.
  4. Répétez cette procédure sur tous les nœuds du cluster.