Flux de processus de la valeur de circonstance
Lorsqu’un client a implémenté le jeton digéré Single Sign-on et souhaite ajouter la sécurité d’un nonce, il suit un certain flux de processus.
- Un utilisateur se connecte au portail du client.
- Le client génère les paramètres SSO requis et ajoute une valeur de circonstance aléatoire à la fin. Par exemple, si le client transfère la réponse d’authentification via la chaîne de requête, elle peut ressembler à quelque chose comme ceci :
SM_USER=itil&DE_USER=V1QuWMmxSfBgfRS099X0cAjKo5Q=&NONCE=1407743018
L’instance reçoit cette demande et récupère les variables d’authentification. Avant de tenter de vérifier l’intégrité de la réponse d’authentification, l’instance vérifie la valeur de circonstance par rapport à une table interne (u_authentication_nonce) pour vérifier qu’elle n’existe pas encore. Si le nonce n’existe pas dans cette table, il est alors ajouté à la table et le processus d’authentification est autorisé à se poursuivre. Toutefois, si cette valeur de nonce existe déjà dans la table, la tentative d’authentification est annulée et un code d’erreur de failed_missing_requirement est renvoyé, ce qui ramène généralement l’utilisateur à la page de connexion.