Adhésion
Une adhésion lie un utilisateur à un compte avec un rôle précis. Un utilisateur peut avoir des adhésions dans plusieurs comptes, chacune avec un rôle différent.
Schéma
interface Membership {
id: string; // "mbr..." - Unique identifier
user_id: string; // User who has membership
account_id: string; // Account membership is in
role: MembershipRole;
}
type MembershipRole = "owner" | "member" | "viewer";
Propriétés
| Propriété | Type | Description |
|---|---|---|
id |
string |
KSUID avec préfixe mbr |
user_id |
string |
Référence utilisateur |
account_id |
string |
Référence compte |
role |
enum |
Niveau de permission |
Rôles
| Role | Permissions |
|---|---|
owner |
Accès complet, gestion des membres, suppression du compte |
member |
Lecture/écriture des ressources |
viewer |
Accès en lecture seule |
Accès multi-comptes
User (uid_123)
├── Membership → Account A (role: owner)
├── Membership → Account B (role: member)
└── Membership → Account C (role: viewer)
Claims du jeton
Lorsqu’un compte est accédé, le jeton inclut :
{
"uid": "uid_123",
"acc": "acc_A",
"role": "owner"
}
Exemple
{
"id": "mbr_2kHfPZcN9xW4mE8RtY7vB",
"user_id": "uid_1jGePYbM8wV3lD7QsX6uA",
"account_id": "acc_3lIfQZdO0yX5nF9SuY8wC",
"role": "member"
}
Liés
- Utilisateur - Ressource utilisateur
- Compte - Ressource compte
- Applications - Frontières de service
- Utilisateurs - Gestion des utilisateurs