User Auth Data & Events
The User Auth drop-in uses the event bus to emit and listen to events for communication between drop-ins and external integrations.
Events reference
Section titled “Events reference”| Event | Direction | Description |
|---|---|---|
| authenticated | Emits | Emitted when the user’s authentication state changes. |
| auth/adobe-commerce-optimizer | Emits | Emitted when Adobe Commerce Optimizer data is loaded or updated. |
| auth/error | Emits | Emitted when an error occurs. |
| auth/group-uid | Emits | Emitted when the customer group UID is set or changes. |
| auth/permissions | Emits | Emitted when permissions are updated. |
Event details
Section titled “Event details”The following sections provide detailed information about each event, including its direction, event payload, and usage examples.
authenticated (emits)
Section titled “authenticated (emits)”Emitted when the user’s authentication state changes — on login, logout, token verification, and session expiration.
Event payload
Section titled “Event payload”booleanThe payload is true when the user is authenticated and false when they are not.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('authenticated', (isAuthenticated) => { if (isAuthenticated) { // User is logged in — load personalised content, redirect, etc. } else { // User is logged out — clear state, redirect to login, etc. }});auth/adobe-commerce-optimizer (emits)
Section titled “auth/adobe-commerce-optimizer (emits)”Emitted when Adobe Commerce Optimizer data is loaded or updated.
Event payload
Section titled “Event payload”AdobeCommerceOptimizerModelSee AdobeCommerceOptimizerModel for full type definition.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('auth/adobe-commerce-optimizer', (payload) => { console.log('auth/adobe-commerce-optimizer event received:', payload); // Add your custom logic here});auth/error (emits)
Section titled “auth/error (emits)”Emitted when an error occurs.
Event payload
Section titled “Event payload”{ source: string; type: string; error: Error | string }Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('auth/error', (payload) => { console.log('auth/error event received:', payload); // Add your custom logic here});auth/group-uid (emits)
Section titled “auth/group-uid (emits)”Emitted when the customer group UID is set or changes.
Event payload
Section titled “Event payload”stringExample
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('auth/group-uid', (payload) => { console.log('auth/group-uid event received:', payload); // Add your custom logic here});auth/permissions (emits)
Section titled “auth/permissions (emits)”Emitted when permissions are updated.
Event payload
Section titled “Event payload”PermissionsModelSee PermissionsModel for full type definition.
Example
Section titled “Example”import { events } from '@dropins/tools/event-bus.js';
events.on('auth/permissions', (payload) => { console.log('auth/permissions event received:', payload); // Add your custom logic here});Data Models
Section titled “Data Models”The following data models are used in event payloads for this drop-in.
AdobeCommerceOptimizerModel
Section titled “AdobeCommerceOptimizerModel”Used in: auth/adobe-commerce-optimizer.
interface AdobeCommerceOptimizerModel { priceBookId: string;}PermissionsModel
Section titled “PermissionsModel”Used in: auth/permissions.
interface PermissionsModel { all?: boolean; admin?: boolean; [key: string]: boolean;}