Composables
useXAdminImpersonation
Starts and stops admin impersonation sessions and exposes reactive state for the current impersonated user.
useXAdminImpersonation
Impersonation session composable. Wraps POST /api/admin/impersonation/start, POST .../stop, and GET .../status to let admins assume a user's identity for debugging or support purposes. Exposes reactive refs so the XAdminImpersonationBanner can stay in sync without additional polling. Pairs with XAdminImpersonationBanner and XAdminImpersonationSwitcher.
Usage
const impersonation = useXAdminImpersonation()
impersonation.isImpersonating.value
impersonation.impersonatedUser.value
await impersonation.startImpersonation(userId)
await impersonation.stopImpersonation()
Returns
| Key | Type | Description |
|---|---|---|
isImpersonating | Ref<boolean> | true when an impersonation session is currently active. |
impersonatedUser | Ref<AdminUser | null> | The user currently being impersonated, or null when not active. |
startImpersonation | (userId: string) => Promise<void> | Begins impersonating the specified user and updates reactive state. |
stopImpersonation | () => Promise<void> | Ends the current impersonation session and restores admin identity. |
AI Context
composable: useXAdminImpersonation
package: "@xenterprises/nuxt-x-app-admin"
use-when: >
Allowing admins to impersonate a user account for support or debugging — starting
and stopping impersonation sessions and reactively displaying the active session
state in the impersonation banner.
pairs-with: XAdminImpersonationBanner, XAdminImpersonationSwitcher
