Realms et utilisateurs 20 min de lecture

Utilisateurs, groupes et attributs

Creer un utilisateur

Via la console

  1. Allez dans Users > Add user
  2. Remplissez : Username, Email, First Name, Last Name
  3. Activez Email Verified
  4. Cliquez sur Create
  5. Allez dans l'onglet Credentials > Set password
  6. Desactivez Temporary si vous ne voulez pas forcer le changement

Via l'API admin

# Creer un utilisateur
curl -s -X POST "http://localhost:8080/admin/realms/mon-application/users" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "jean.dupont",
    "email": "jean@example.com",
    "firstName": "Jean",
    "lastName": "Dupont",
    "enabled": true,
    "emailVerified": true,
    "credentials": [{
      "type": "password",
      "value": "motdepasse123",
      "temporary": false
    }]
  }'

# Lister les utilisateurs
curl -s -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8080/admin/realms/mon-application/users" | jq .

Groupes

Les groupes permettent d'organiser les utilisateurs et de leur attribuer des roles en masse.

# Creer un groupe
curl -s -X POST "http://localhost:8080/admin/realms/mon-application/groups" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "developpeurs"}'

# Ajouter un utilisateur au groupe
# Recuperer l'ID de l'utilisateur et du groupe, puis :
curl -s -X PUT "http://localhost:8080/admin/realms/mon-application/users/$USER_ID/groups/$GROUP_ID" \
  -H "Authorization: Bearer $TOKEN"

Attributs personnalises

Vous pouvez ajouter des attributs personnalises aux utilisateurs (departement, matricule, etc.).

# Ajouter un attribut custom
curl -s -X PUT "http://localhost:8080/admin/realms/mon-application/users/$USER_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "attributes": {
      "departement": ["engineering"],
      "matricule": ["EMP-001"]
    }
  }'
Astuce : Les attributs personnalises peuvent etre inclus dans les tokens via les protocol mappers pour etre utilises par vos applications.