---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [auth](../index.md) / AuthMiddlewareRegistry

# Class: AuthMiddlewareRegistry

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:117](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L117)

Registry for auth middleware providers.

The registry collects middleware from multiple providers and returns
them in registration order when requested during OAuth token requests.

## Usage Modes

**SDK Mode**: Register providers directly via `register()`:
```typescript
globalAuthMiddlewareRegistry.register(myProvider);
```

**CLI Mode**: Providers are collected via the `b2c:auth-middleware` hook
and registered during command initialization.

## Constructors

### Constructor

> **new AuthMiddlewareRegistry**(): `AuthMiddlewareRegistry`

#### Returns

`AuthMiddlewareRegistry`

## Accessors

### size

#### Get Signature

> **get** **size**(): `number`

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:176](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L176)

Returns the number of registered providers.

##### Returns

`number`

## Methods

### clear()

> **clear**(): `void`

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:169](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L169)

Clears all registered providers.

Primarily useful for testing.

#### Returns

`void`

***

### getMiddleware()

> **getMiddleware**(): [`AuthMiddleware`](../interfaces/AuthMiddleware.md)[]

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:151](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L151)

Collects middleware from all providers.

#### Returns

[`AuthMiddleware`](../interfaces/AuthMiddleware.md)[]

Array of middleware in registration order

***

### getProviderNames()

> **getProviderNames**(): `string`[]

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:183](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L183)

Returns the names of all registered providers.

#### Returns

`string`[]

***

### register()

> **register**(`provider`): `void`

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:127](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L127)

Registers a middleware provider.

Providers are called in registration order when middleware is requested.

#### Parameters

##### provider

[`AuthMiddlewareProvider`](../interfaces/AuthMiddlewareProvider.md)

The provider to register

#### Returns

`void`

***

### unregister()

> **unregister**(`name`): `boolean`

Defined in: [packages/b2c-tooling-sdk/src/auth/middleware.ts:137](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/auth/middleware.ts#L137)

Unregisters a middleware provider by name.

#### Parameters

##### name

`string`

The name of the provider to remove

#### Returns

`boolean`

true if a provider was removed, false if not found
