Client form-indirect¶
Description¶
Ce client gère l'authentification via un formulaire HTML. Il supporte l'authentification forte par TOTP (Time based One Time Password).
Ce client présente beaucoup de similitudes avec le client
basic.
Paramètres¶
loginUrlobligatoire- URL du formulaire de login.
usernameParam- Nom du champ de formulaire dans lequel l'utilisateur devra saisir son
nom d'utilisateur. Si non défini, le champ attendu sera
username. passwordParam- Nom du champ de formulaire dans lequel l'utilisateur devra saisir son
mot de passe. Si non défini, le champ attendu sera
password. repository-
Référentiel(s) sur le(s)quel(s) s'appuyer pour l'identification des utilisateurs.
Il est possible de spécifier plusieurs référentiels en les séparant par une virgule.
hashAlgo-
Méthode de hashage des mots de passe stockés dans le repository.
Le paramètre peut prendre un nom d'algorithme au sens de deux décrits pour les MessageDigest.
Ainsi, les valeurs
MD2,MD5,SHA,SHA-1,SHA-256,SHA-384,SHA-512, etc. peuvent être utilisées. Lorsqu'un type d'algorithme est défini dans<hashAlgo>, le client s'attend à ce que le mot de passe enregistré dans le repository soit chiffré selon l'algorithme en question.Le paramètre peut également prendre la valeur
AUTO. Dans ce cas, le moteur s'attend à trouver dans le repository un mot de passe en clair, ou un mot de passe chiffré ayant en préfixe le type de chiffrement utilisé. Par exemple, le mot de passe "changeit" chiffré en MD5 devrait figurer ainsi dans le repository: "{MD5}b91cd1a54781790beaa2baf741fa6789".Le paramètre peut également être vide ou non défini. Dans ce cas le client s'attend à trouver le mot de passe en clair dans le repository.
hashFormat-
Format dans lequel le hash de mot de passe est stocké. Les valeurs possibles sont
HEX,BASE64ouRAW.Si non défini, le format attendu par défaut est
HEX. totpUrl-
URL de formulaire pour la saisie du token TOTP. Ce formulaire n'est affiché que si une authentification forte est attendue pour l'utilisateur, c'est-à-dire si un secret TOTP est associé à l'utilisateur au niveau du repository.
Le formulaire en question est un formulaire jsp qui doit être capable d'envoyer les données sur la bonne URL. L'URL en question doit mentionné le nom du client qui va prendre en charge le formulaire. Dans le cadre du token TOTP, le client en question porte le nom du client utilisé pour le formulaire de login avec un suffixe
-totp. Par exemple, si le client qui prend en charge la saisie du nom d'utilisateur et du mot de passe (c.-à-d. le client qui traite le formulaireloginUrl) estform, alors le client qui se charge du formulairetotpUrlestform-totp. tokenParam- Nom du champ de formulaire dans lequel l'utilisateur devra saisir son
code à 6 chiffres (token TOTP). Si non renseigné, le moteur s'attend à
recevoir le code via le champ
token. checkParam- Nom du champ de formulaire dans lequel le moteur véhicule un UUID. Ce
dernier ne joue aucun rôle du point de vue de l'authentification. Il
s'agit uniquement d'un contrôle éviter des problèmes de cache. Si non
renseigné, le moteur s'attend à retrouver cette valeur via le champ
check. maxAttempts- Nombre de tentatives de saisie du code à 6 chiffres accordées à l'utilisateur. La valeur par défaut est 3.
maxDuration- Durée maximale autorisée pour une authentification, en secondes. Le calcul de la durée commence au moment où le formulaire de login est affiché.
lockOut-
Paramètres de lock out. Ce mécanisme apporte une sécurité dans le sens qu'il bloque les comptes utilisateurs effectuant un trop grand nombre de tentatives d'authentification en échec.
Voir la documentation du client
basicpour le détail.
Exemple¶
Le bloc ci-dessous déclare un client effectuant une authentification par formulaire en deux étapes : l'authentification par nom d'utilisateur et mot de passe dans un premier temps, puis l'authentification forte par OTP (à condition que celle-ci soit activée sur la fiche de l'utilisateur).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |