Rolebase Développeurs
Référence API

users

Représente les comptes utilisateur dans Rolebase, gérés par Hasura Auth. Contient les informations de profil, les détails d'authentification et les relations avec les organisations et les rôles.

Champs

ChampTypeDescription
iduuidIdentifiant unique de l’utilisateur (généré automatiquement)
displayNameStringNom d’affichage de l’utilisateur
emailStringAdresse e-mail de l’utilisateur (unique, optionnel)
emailVerifiedBooleanIndique si l’adresse e-mail a été vérifiée (par défaut : false)
phoneNumberStringNuméro de téléphone de l’utilisateur (unique, optionnel)
phoneNumberVerifiedBooleanIndique si le numéro de téléphone a été vérifié (par défaut : false)
avatarUrlStringURL de l’image d’avatar de l’utilisateur
localeStringLangue préférée de l’utilisateur
metadataJSONMétadonnées supplémentaires de l’utilisateur (ex. : fuseau horaire, préférences)
newEmailStringNouvelle adresse e-mail en attente de vérification (optionnel)
isAnonymousBooleanIndique si c’est un utilisateur anonyme (par défaut : false)
disabledBooleanIndique si le compte utilisateur est désactivé (par défaut : false)
lastSeenTimestampDernière activité de l’utilisateur (optionnel)
createdAtTimestampDate de création du compte (par défaut : horodatage actuel)
updatedAtTimestampDate de dernière mise à jour du compte (par défaut : horodatage actuel)

Champs d’authentification

ChampTypeDescription
passwordHashStringMot de passe haché pour l’authentification par mot de passe (jamais exposé via l’API)
activeMfaTypeStringMéthode d’authentification multi-facteurs active (optionnel)
totpSecretStringSecret pour le mot de passe à usage unique basé sur le temps (optionnel)
otpHashStringHachage du mot de passe à usage unique (jamais exposé via l’API)
otpHashExpiresAtTimestampDate d’expiration du hachage OTP
otpMethodLastUsedStringDernière méthode OTP utilisée (optionnel)
ticketStringTicket d’authentification (optionnel)
ticketExpiresAtTimestampDate d’expiration du ticket d’authentification
currentChallengeStringDéfi d’authentification en cours (optionnel)

Relations

Relations tableau

  • apps — Applications connectées de l’utilisateur (voir user_app)
  • members — Appartenances aux organisations
  • roles — Rôles assignés à l’utilisateur
  • refreshTokens — Jetons de rafraîchissement d’authentification
  • securityKeys — Clés de sécurité WebAuthn
  • userProviders — Fournisseurs d’authentification connectés (OAuth, etc.)

Exemples de requêtes

Obtenir le profil utilisateur

query GetUserProfile($userId: uuid!) {
  user(id: $userId) {
    id
    displayName
    email
    emailVerified
    avatarUrl
    locale
    metadata
    newEmail
    lastSeen
    members {
      id
      org {
        name
      }
    }
  }
}

Exemples de mutations

Mettre à jour le profil utilisateur

mutation UpdateUserProfile {
  updateUser(
    pk_columns: { id: "user-id" }
    _set: {
      displayName: "New Name"
      locale: "en"
      metadata: { timezone: "Europe/Paris" }
    }
  ) {
    id
    displayName
    locale
    metadata
    updatedAt
  }
}

Permissions

L’accès aux données utilisateur est strictement contrôlé :

  • Les utilisateurs ne peuvent consulter et modifier que leurs propres données de profil
  • Les champs sensibles (passwordHash, otpHash, etc.) ne sont jamais exposés via l’API
  • La gestion des rôles est assurée par des points d’accès dédiés
  • Les modifications d’adresse e-mail et de numéro de téléphone nécessitent une vérification
  • La désactivation de compte ne peut être effectuée que par les administrateurs

L’entité utilisateur est gérée par Hasura Auth et ne doit pas être modifiée directement. L’authentification multi-facteurs (MFA) peut être activée avec différentes méthodes, et les clés de sécurité WebAuthn supportent l’authentification sans mot de passe. Les fournisseurs OAuth connectés sont gérés via la relation userProviders.