Aller au contenu

Connexion et espaces de travail

Vos utilisateurs se connectent avec Clerk, travaillent avec leur équipe dans un espace de travail et ne peuvent faire que ce que leur rôle permet. Votre serveur vérifie tout cela à chaque requête.

En bref

  • Clerk gère comptes, mots de passe et invitations : rien à construire, aucun mot de passe à stocker.
  • Chaque client travaille dans son propre espace de travail, isolé des autres.
  • Fonctionne sans compte Clerk jusqu'à ce que vous ajoutiez vos clés.

La connexion Clerk, à vos couleurs

Les écrans de Clerk gèrent l'inscription, la connexion, les codes par e-mail et la création d'espace de travail. Ils lisent les variables de votre thème, ressemblent donc au reste de l'app, et passent au français avec elle.

  • E-mail avec mot de passe ou code, Google et plus : au choix dans le tableau de bord Clerk
  • Validation en deux étapes et appareils connectés sur la page Sécurité des réglages
  • La protection anti-bots de Clerk vérifie chaque inscription : le guide indique le seul réglage à contrôler
  • Le serveur vérifie lui-même chaque jeton de session, sans appeler Clerk

Chaque client a son espace de travail

Les organisations Clerk sont vos espaces de travail. Chacun travaille dans un espace actif, en change depuis la barre latérale et invite ses coéquipiers depuis la page Membres.

  • Un nouvel utilisateur crée un espace de travail ou rejoint celui où il a été invité
  • Changer d'espace de travail vide ce que l'app avait chargé avant d'afficher le nouveau
  • Votre base reçoit sa propre copie à la première requête, avec ses propres identifiants

Les rôles chez Clerk, les permissions dans votre code

Clerk dit seulement si quelqu'un est admin ou membre. Un fichier de votre code traduit ce rôle en permissions, et chaque endpoint vérifie celle dont il a besoin. Rien à configurer dans le tableau de bord Clerk.

  • Les admins peuvent tout faire ; les membres créent et modifient des projets
  • Un rôle inconnu de votre code reçoit les permissions du membre
  • L'app web masque ce qu'un membre ne peut pas faire, et le serveur le refuse de toute façon
Ce que chaque rôle peut faire
PermissionAdminMembre
Créer des projetsorg:projects:createAutoriséAutorisé
Modifier des projetsorg:projects:updateAutoriséAutorisé
Supprimer des projetsorg:projects:deleteAutoriséNon autorisé
Gérer l'espace de travailorg:workspace:manageAutoriséNon autorisé
Gérer la facturationorg:billing:manageAutoriséNon autorisé

Un espace de travail ne voit jamais les données d'un autre

L'espace de travail vient du jeton vérifié, jamais de ce qu'envoie le navigateur. Ses données ne sont lues et écrites que via un repository qui l'ajoute à chaque requête, et une règle de lint refuse tout autre accès.

  • Demander le projet d'un autre espace de travail répond « introuvable », comme s'il n'existait pas
  • Les tests de l'API le vérifient pour chaque action de la fonctionnalité d'exemple

Tout essayer avant de créer un compte Clerk

Sans clés Clerk, une connexion de remplacement identifie chaque requête comme Ada Lovelace, admin de Acme team. Un en-tête de requête choisit une autre personne d'exemple, pour essayer chaque rôle. Elle refuse de tourner en production.

  • Ajoutez vos clés Clerk quand vous êtes prêt : aucun code à changer
  • Les tests de l'API tournent toujours avec
packages/app-server/.env.example
# Who signs users in.#   mock  (default) every request is signed in as a seeded user (Ada Lovelace,#         admin of "Acme team"), so the app runs without a Clerk account.#         Development and tests only: refused when NODE_ENV=production.#   clerk real sign-in with Clerk; the three CLERK_ keys below are then required.AUTH_PROVIDER=mock
Des personnes d'exemple, choisies avec l'en-tête x-mock-user-email
PersonneEspace de travailRôle
Ada Lovelaceada@example.comAcme team
Admin
Grace Hoppergrace@example.comAcme team
Admin
Alan Turingalan@example.comAcme team
Membre
Bob Smithbob@example.comGlobex
Admin

Questions

Faut-il un compte Clerk pour commencer ?

Non. Le kit de démarrage tourne avec sa connexion de remplacement jusqu'à ce que vous ajoutiez vos clés Clerk. L'offre gratuite de Clerk couvre 50 000 utilisateurs par mois ; vérifiez leurs tarifs actuels sur leur site.

Puis-je ajouter mes propres rôles ?

Le kit de démarrage utilise exprès les deux rôles par défaut de Clerk et déduit les permissions dans votre code. Ajoutez une permission à deux listes et chaque endpoint peut la vérifier. Les rôles personnalisés de Clerk exigent l'une de ses options payantes.

Où sont stockés les mots de passe ?

Chez Clerk. Votre base garde une copie des noms et des e-mails, jamais les mots de passe, les sessions ni les réglages de la validation en deux étapes.

Démarrez votre prochaine app sur une base propre

Payez une fois et obtenez tout le code source, avec toutes les mises à jour futures.