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

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

# Interface: AuthSession

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:48](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L48)

## Properties

### accessToken

> **accessToken**: `string`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:59](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L59)

***

### accountManagerHost?

> `optional` **accountManagerHost**: `string` \| `null`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:69](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L69)

Account Manager host the session was minted against.

***

### clientId

> **clientId**: `string`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:49](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L49)

***

### expiresAt?

> `optional` **expiresAt**: `string` \| `null`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:65](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L65)

ISO timestamp of access-token expiry (informational; JWT exp is authoritative).

***

### flow

> **flow**: [`AuthSessionFlow`](../type-aliases/AuthSessionFlow.md)

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:51](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L51)

Which flow produced this session (informational; controls refresh policy).

***

### lastUsedAt?

> `optional` **lastUsedAt**: `string` \| `null`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:71](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L71)

ISO timestamp of the most recent write.

***

### pkceUnsupported?

> `optional` **pkceUnsupported**: `boolean`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:58](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L58)

Whether this implicit session was created after Account Manager rejected
Authorization Code + PKCE for the client. The user-auth fallback uses this
marker, together with `accountManagerHost`, to avoid repeating a PKCE flow
that cannot succeed on later process or extension activations.

***

### refreshToken?

> `optional` **refreshToken**: `string` \| `null`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:61](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L61)

Only set for PKCE. Implicit and client-credentials never have a refresh token.

***

### scopes?

> `optional` **scopes**: `string`[]

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:67](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L67)

Scopes recorded with the access token.

***

### sub?

> `optional` **sub**: `string` \| `null`

Defined in: [packages/b2c-tooling-sdk/src/auth/session-store.ts:63](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/b0472c439ca6570be5c7809783a46327d7493694/packages/b2c-tooling-sdk/src/auth/session-store.ts#L63)

JWT `sub` claim, when available. Recorded for diagnostics.
