Authentication vs authorization
- Authentication: Verifies who the user is (handled by Scalekit)
- Authorization: Determines what the user can do (enforced by your application)
Access token claims
Access tokens contain authorization information:Role-based access control (RBAC)
Roles group permissions together for easier management.Defining roles
Define roles in your Scalekit dashboard or via API:Assigning roles
Assign roles to users within organizations:Checking roles
Validate user roles in your application:Permission-based access control
Permissions provide fine-grained access control.Permission naming
Use a consistent naming convention:- Format:
<action>:<resource> - Examples:
read:documentswrite:documentsdelete:documentsmanage:usersadmin:organization
Checking permissions
Validate permissions before sensitive operations:Middleware for permission checks
Create reusable middleware for route protection:Organization-scoped authorization
Authorize actions within specific organizations:Group-based authorization
Map directory groups to application roles via SCIM:Group mapping
Configure group-to-role mappings in your dashboard:| Directory group | Application role |
|---|---|
| Engineering | developer |
| Engineering-Leads | admin |
| Sales | viewer |
Automatic role assignment
When users are provisioned via SCIM:- Directory groups are synced to Scalekit
- Group memberships are evaluated
- Corresponding roles are automatically assigned
- Access token includes mapped roles and permissions
Attribute-based access control (ABAC)
Use custom user attributes for dynamic authorization:Multi-tenant authorization
Ensure data isolation between organizations:Best practices
Principle of least privilege
Grant minimum permissions required:- Start with restrictive defaults
- Add permissions as needed
- Review and audit permissions regularly
- Remove unused permissions
Defense in depth
Implement authorization at multiple layers:- API Gateway: Basic token validation
- Application middleware: Role/permission checks
- Business logic: Resource-level authorization
- Database: Row-level security policies
Fail securely
Default to denying access:Audit authorization decisions
Log authorization failures for security monitoring:Next steps
Organizations and users
Understand multi-tenant user models
Session management
Learn about tokens and sessions
SCIM provisioning
Automate role assignment with directory groups
Best practices
Security best practices for authorization