Authentication
RBAC
Role-based and permission-based access control.
Roles#
typescript
import { requireRole } from '@AxilJS/auth'
app.delete('/users/:id', authenticate(jwt), requireRole('admin'), handler)
app.get('/reports', authenticate(jwt), requireRole(['admin', 'manager']), handler)Permissions#
typescript
import { requirePermission } from '@AxilJS/auth'
app.post('/posts', authenticate(jwt), requirePermission('posts:create'), handler)
// 'admin:*' matches 'admin:read', 'admin:write', etc.Ownership#
typescript
import { requireOwnership } from '@AxilJS/auth'
app.get('/users/:id/profile', authenticate(jwt), requireOwnership('id'), handler)
// Admins bypass ownership check