Overview
Admin endpoints provide elevated privileges for platform administrators, including user impersonation for support and debugging.POST /api/admin/impersonate
Generate impersonation token to access another user’s account.Authentication
Requires admin-level Directus JWT token.Request Body
Directus user ID to impersonate
Token duration in seconds (default: 3600)
Response
Temporary JWT token for impersonated user
ISO 8601 timestamp when token expires
Impersonated user’s profile data
Example
cURL
Example Response
Example Response
Impersonation Use Cases
Customer Support
View user’s account as they see it:- User reports dashboard issue
- Admin generates impersonation token
- Admin accesses user’s session in separate browser tab
- Investigate issue in live environment
Debugging
Reproduce tier-specific behavior:- Test feature availability for different tiers
- Verify usage limit enforcement
- Debug permission issues
Demo Accounts
Create pre-configured demo environments:- Generate tokens for demo accounts
- Share with prospects during sales calls
- Automatically expire after demo period
Security Considerations
Audit Trail
All impersonation actions logged toagent_audits collection:
Token Restrictions
- Short-lived: Default 1 hour expiration
- Single-use recommended: Generate new token for each session
- IP binding: Optional IP address validation
- Revocation: Tokens invalidated on user password change
Admin Permissions
Only users with Directus roleadministrator can impersonate:
Dashboard Integration
Admin panel at/admin includes impersonation UI:
- User Search: Find users by email/name
- Quick Actions: One-click impersonation button
- Active Sessions: View currently impersonated users
- Session History: Past impersonation events
View-As Mode
/view-as route enables impersonation from dashboard:
sessionStorage (not localStorage) to prevent persistence across browser restarts.
Implementation
Source:server/endpoints/api/impersonate.js
Impersonation flow:
- Verify admin credentials via Directus
/users/me - Fetch target user data
- Generate temporary JWT with
imp_prefix - Log action to
agent_audits - Return token for client storage
Impersonation tokens use same JWT secret as regular auth but include
impersonator_id claim for audit tracking.Related Features
User Management
RBAC sync and user administration
Security
Security best practices and audit logging
