Skip to main content
The OrganizationMemberDetail component provides a unified interface to view and manage an individual organization member’s profile and assigned roles.

Setup requirements

Auth0 Configuration Required—Ensure your tenant is configured with the My Organization API. View setup guide →

Installation

pnpm

Get started

Pass a userId from your route to the component. Wire onBack to your router so the back button returns to the member list.

Props

Required props


Display props

Display props control how the component renders without affecting its behavior. Use these to hide sections or enable read-only mode.

Action props

Action props handle user interactions. Use lifecycle hooks (onBefore, onAfter) to integrate with your application’s routing and analytics. onBack Type: () => void Fires when selecting the header back button and automatically after member removal. Wire this callback to your router to return to the member list.
removeFromOrganizationAction Type: ComponentAction<string> Controls member removal from the organization (membership only; does not delete the user profile from the Auth0 user store). After a successful membership removal, the component invokes the action callback and onBack. Do not rely on ordering if onAfter performs asynchronous work.
  • onBefore(userId) confirms before removal. Return false to cancel.
  • onAfter(userId) runs after removal.
assignRolesAction Type: ComponentAction<{ userId: string; roleIds: string[] }> Fires after assigning roles from the roles tab. Role selections are capped at 10 roles per assignment request, and an individual member can have up to 50 total roles assigned. Both hooks receive { userId, roleIds }.
  • onBefore({ userId, roleIds }) validates selection. Return false to cancel.
  • onAfter({ userId, roleIds }) writes to an audit log or refreshes role badges.
removeRolesAction Type: ComponentAction<{ userId: string; roleIds: string[] }> Fires when removing assigned roles from the roles table (supports up to 10 roles per removal request). Both hooks receive { userId, roleIds }.
  • onBefore({ userId, roleIds }) confirms before removing roles. Return false to cancel.
  • onAfter({ userId, roleIds }) refreshes state or audit logs.

Customization props

customMessages Override bundled component text. Every field is optional and falls back to the built-in default.
member.detail—Core views and tabs
  • back_button, tabs.details, tabs.roles
member.detail.user_details—Profile display
  • title, name, email, phone_number, created_at, last_login
member.detail.actions.remove_from_organization—Removal action and dialog
  • title, description, button
  • modal.title, modal.description, modal.cancel_button, modal.confirm_button
  • success
member.detail.roles—Roles tab and table
  • title, description, assign_button
  • roles_selected, roles_selected_plural, max_selection_message, searching_message
  • table.name, table.description, table.empty_message, table.remove_button_label
member.detail.roles.assign_modal—Role assignment modal
  • title, description
  • roles_label, roles_placeholder
  • submit_button, cancel_button, no_roles_available
member.detail.roles.remove_confirm—Role removal confirmation dialog
  • title, title_plural, description, description_plural
  • confirm_button, cancel_button
member.detail.error—API errors
  • fetch_failed, fetch_roles_failed, remove_from_organization_failed, assign_role_failed, remove_role_failed

styling Customize appearance with CSS variables and class overrides. Variables support light, dark, and common scopes. Class overrides target named slots inside the component tree.
Variables—CSS custom properties
  • common—Applied to all themes
  • light—Light theme only
  • dark—Dark theme only
Classes—Targeted element class overrides
  • OrganizationMemberDetail-root
  • OrganizationMemberDetail-header
  • OrganizationMemberDetail-tabs
  • OrganizationMemberDetail-detailsTab
  • OrganizationMemberDetail-rolesTab
  • MemberRemoveFromOrgModal-dialogContent
  • OrganizationMemberRemoveRoleModal-dialogContent
  • OrganizationMemberAssignRolesModal-dialogContent

Advanced customization

Available hooks

These hooks provide the underlying logic without any UI. Use them to build completely custom interfaces while leveraging the Auth0 API integration.