Modéliser des rôles applicatifs (admin, editor, viewer, billing) au-dessus d’Aurabase Auth. Patterns pour orgs plates, hiérarchiques, et permissions par ressource.
10 min de lecture·Niveau avancé·Révisé le 15 avr. 2026
Une Edge Function branchée comme Auth Hook enrichit le JWT avec tenant (org_id actif) + roles (array). Les helpers auth.tenant() et auth.has_role() les exposent à vos policies.
functions/jwt-enrich.ts
TYPESCRIPT
Deno.serve(async (req) => {
const { user, claims } = await req.json()
const { data: m } = await aura
.from('org_members')
.select('org_id, roles')
.eq('user_id', user.id).single()
returnResponse.json({
...claims,
tenant: m?.org_id,
roles: m?.roles || [],
})
})
Info
Le hook s'exécute au sign-in et à chaque refresh. Modifier les rôles d'un user devient actif à son prochain refresh token (max 15 min).
Sur plan Enterprise, activez SCIM 2.0 depuis Okta, Azure AD, Google Workspace. Les users + rôles sont synchronisés automatiquement : ajout/retrait immédiat, déprovisioning instantané au départ d'un employé.