Authentification et login flows 20 min de lecture

Authentication flows et required actions

Authentication flows

Les Authentication flows definissent les etapes que l'utilisateur doit suivre pour s'authentifier.

Flows par defaut

  • Browser : Flux standard pour les navigateurs (cookie > identity provider > formulaire)
  • Direct Grant : Pour le flux Resource Owner Password (API)
  • Registration : Etapes de l'inscription
  • Reset Credentials : Flux de reinitialisation du mot de passe

Examiner un flow

  1. Allez dans Authentication dans le menu lateral
  2. Selectionnez Browser pour voir le flow de connexion standard
  3. Chaque etape a un type d'execution : Required, Alternative, Disabled, Conditional

Ajouter l'OTP (2FA)

  1. Dans Authentication > Browser
  2. Trouvez l'etape OTP Form
  3. Changez son type de Disabled a Required pour forcer le 2FA
  4. Ou mettez Conditional pour le rendre optionnel

Required Actions

Les Required Actions sont des actions que l'utilisateur doit effectuer a la prochaine connexion :

  • Update Password : Forcer le changement de mot de passe
  • Configure OTP : Forcer la configuration du 2FA
  • Verify Email : Forcer la verification de l'email
  • Update Profile : Forcer la mise a jour du profil

Assigner une required action via l'API

# Forcer le changement de mot de passe au prochain login
curl -s -X PUT "http://localhost:8080/admin/realms/mon-application/users/$USER_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "requiredActions": ["UPDATE_PASSWORD", "CONFIGURE_TOTP"]
  }'

Politique de mot de passe

Configurez dans Authentication > Policies > Password Policy :

# Exemples de politiques
# - Minimum Length: 8
# - Uppercase Characters: 1
# - Lowercase Characters: 1
# - Digits: 1
# - Special Characters: 1
# - Not Username
# - Password History: 3 (empeche la reutilisation des 3 derniers)