Membresía
Una Membresía vincula a un usuario con una cuenta mediante un rol específico. Un usuario puede tener membresías en múltiples cuentas, cada una con roles distintos.
Schema
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";
Propiedades
| Propiedad | Tipo | Descripción |
|---|---|---|
id | string | KSUID con prefijo mbr |
user_id | string | Referencia al usuario |
account_id | string | Referencia a la cuenta |
role | enum | Nivel de permisos |
Roles
| Rol | Permisos |
|---|---|
owner | Acceso total, gestionar miembros, eliminar cuenta |
member | Acceso de lectura/escritura |
viewer | Acceso de solo lectura |
Acceso a múltiples cuentas
User (uid_123)
├── Membership → Account A (role: owner)
├── Membership → Account B (role: member)
└── Membership → Account C (role: viewer)
Claims del token
Al acceder a una cuenta, el token incluye:
{
"uid": "uid_123",
"acc": "acc_A",
"role": "owner"
}
Ejemplo
{
"id": "mbr_2kHfPZcN9xW4mE8RtY7vB",
"user_id": "uid_1jGePYbM8wV3lD7QsX6uA",
"account_id": "acc_3lIfQZdO0yX5nF9SuY8wC",
"role": "member"
}
Relacionado
- Usuario - Recurso de usuario
- Cuenta - Recurso de cuenta
- Aplicaciones - Límites del servicio
- Usuarios - Gestión de usuarios