Authentication

RBAC

Role-based and permission-based access control.

1 min readDocumentationEdit this page

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

Help improve the documentation

AxilJS is open source and documentation improvements are welcome.

AxilJS DocumentationMIT License · Built by SyntaxilitY