[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / AuthTokenManager

# Class: AuthTokenManager

Token manager for authentication tokens with memory caching

## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/authtokenmanager#constructor)


### Methods

- [getAccessToken](/sdk-reference/classes/authtokenmanager#getaccesstoken)
- [setAccessToken](/sdk-reference/classes/authtokenmanager#setaccesstoken)
- [getRefreshToken](/sdk-reference/classes/authtokenmanager#getrefreshtoken)
- [setRefreshToken](/sdk-reference/classes/authtokenmanager#setrefreshtoken)
- [getProviderToken](/sdk-reference/classes/authtokenmanager#getprovidertoken)
- [setProviderToken](/sdk-reference/classes/authtokenmanager#setprovidertoken)
- [getAuthType](/sdk-reference/classes/authtokenmanager#getauthtype)
- [setAuthType](/sdk-reference/classes/authtokenmanager#setauthtype)
- [setTokens](/sdk-reference/classes/authtokenmanager#settokens)
- [clearAllTokens](/sdk-reference/classes/authtokenmanager#clearalltokens)
- [clearAuthTokens](/sdk-reference/classes/authtokenmanager#clearauthtokens)
- [hasAccessToken](/sdk-reference/classes/authtokenmanager#hasaccesstoken)
- [hasRefreshToken](/sdk-reference/classes/authtokenmanager#hasrefreshtoken)
- [clearRefreshToken](/sdk-reference/classes/authtokenmanager#clearrefreshtoken)


## Constructors

### constructor

• **new AuthTokenManager**(`storage?`): [`AuthTokenManager`](/sdk-reference/classes/authtokenmanager)

#### Parameters

| Name | Type |
|  --- | --- |
| `storage` | [`TokenStorage`](/sdk-reference/interfaces/tokenstorage) |


#### Returns

[`AuthTokenManager`](/sdk-reference/classes/authtokenmanager)

#### Defined in

[core/auth/token-storage.ts:99](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L99)

## Methods

### getAccessToken

▸ **getAccessToken**(): `Promise`<`null` | `string`>

#### Returns

`Promise`<`null` | `string`>

#### Defined in

[core/auth/token-storage.ts:101](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L101)

### setAccessToken

▸ **setAccessToken**(`token`): `Promise`<`void`>

#### Parameters

| Name | Type |
|  --- | --- |
| `token` | `string` |


#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:114](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L114)

### getRefreshToken

▸ **getRefreshToken**(): `Promise`<`null` | `string`>

#### Returns

`Promise`<`null` | `string`>

#### Defined in

[core/auth/token-storage.ts:119](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L119)

### setRefreshToken

▸ **setRefreshToken**(`token`): `Promise`<`void`>

#### Parameters

| Name | Type |
|  --- | --- |
| `token` | `string` |


#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:131](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L131)

### getProviderToken

▸ **getProviderToken**(): `Promise`<`null` | `string`>

#### Returns

`Promise`<`null` | `string`>

#### Defined in

[core/auth/token-storage.ts:136](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L136)

### setProviderToken

▸ **setProviderToken**(`token`): `Promise`<`void`>

#### Parameters

| Name | Type |
|  --- | --- |
| `token` | `string` |


#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:148](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L148)

### getAuthType

▸ **getAuthType**(): `Promise`<`null` | `AccountOwnerType`>

#### Returns

`Promise`<`null` | `AccountOwnerType`>

#### Defined in

[core/auth/token-storage.ts:153](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L153)

### setAuthType

▸ **setAuthType**(`authType`): `Promise`<`void`>

#### Parameters

| Name | Type |
|  --- | --- |
| `authType` | `AccountOwnerType` |


#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:165](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L165)

### setTokens

▸ **setTokens**(`accessToken`, `refreshToken?`, `providerToken?`): `Promise`<`void`>

#### Parameters

| Name | Type |
|  --- | --- |
| `accessToken` | `string` |
| `refreshToken?` | `string` |
| `providerToken?` | `string` |


#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:170](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L170)

### clearAllTokens

▸ **clearAllTokens**(): `Promise`<`void`>

#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:181](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L181)

### clearAuthTokens

▸ **clearAuthTokens**(): `Promise`<`void`>

Clears only auth tokens (access, refresh, provider, authType), preserving DPoP keys.
Use this when DPoP keys are regenerated - we want to invalidate auth tokens
that were bound to old keys, but keep the newly generated DPoP keys.

#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:192](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L192)

### hasAccessToken

▸ **hasAccessToken**(): `Promise`<`boolean`>

#### Returns

`Promise`<`boolean`>

#### Defined in

[core/auth/token-storage.ts:204](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L204)

### hasRefreshToken

▸ **hasRefreshToken**(): `Promise`<`boolean`>

#### Returns

`Promise`<`boolean`>

#### Defined in

[core/auth/token-storage.ts:213](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L213)

### clearRefreshToken

▸ **clearRefreshToken**(): `Promise`<`void`>

Clears only the refresh token.
Used when DPoP keys are regenerated, invalidating the token binding.

#### Returns

`Promise`<`void`>

#### Defined in

[core/auth/token-storage.ts:226](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/token-storage.ts#L226)