Optional ReadonlycustomPer-scope custom roles, bundling catalogue permissions only.
Optional ReadonlygrantableWhere each limited role may be granted. A role absent here is unlimited.
Optional ReadonlyinheritsThe scopes whose grants ALSO apply in scope — its parent, a delegating
tenant. Walked transitively; a cycle, or exceeding maxScopeDepth or
maxScopeNodes, denies. Absent: scopes are flat.
Optional ReadonlymaxThe most custom roles one scope may define, 1–10 000 (default 128); more denies.
Optional ReadonlymaxThe most grants one resolution may return, 1–10 000 (default 256); more denies.
Optional ReadonlymaxThe most permissions one custom role may bundle, 1–10 000 (default 256); more denies.
Optional ReadonlymaxThe deepest inheritsFrom walk, 1–64 (default 8); deeper denies.
Optional ReadonlymaxThe most scopes one walk may visit, 1–1 024 (default 32); more denies.
Optional ReadonlypermissionsCatalogue permissions no rbac role names, made checkable.
Optional ReadonlyprincipalWhether the authority a principal carries itself — its roles and its
permissions (including '*') — counts in EVERY scope (M113e, V9-28).
Default false: a scoped check is decided by grants alone, so a token
role admin does not pass requireScopedRole('admin') in a tenant that
granted it nothing. true restores the behaviour before 0.10.0: each
principal role is a global grant (still limited by grantableIn) and
each principal permission satisfies every scoped permission check. The
unscoped guards (requireRole, requirePermission) read the principal
either way.
ReadonlysourcesThe grant sources, unioned. At least one.
Optional ReadonlysourceThe deadline on every source and resolver call, 1–60 000 ms (default 2 000).
Optional ReadonlytenantThe scope type compared against the resolved request tenant (default
'tenant'): a check whose own scope is of this type and names another
tenant denies.
Optional ReadonlytimingWhen grants are resolved (default 'request').
Scoped RBAC configuration (
AuthPluginOptions.scopedRbac).Since
0.9.0