Skip to content

spotify-cli


spotify-cli / auth/token-store

auth/token-store

Persistent storage for OAuth tokens and client configuration.

Tokens and config are stored as JSON files in CONFIG_DIR with restrictive file permissions (600/700).

Interfaces

StoredTokens

Defined in: src/auth/token-store.ts:17

OAuth tokens persisted to disk.

Properties

access_token

access_token: string

Defined in: src/auth/token-store.ts:19

The Spotify API access token.

expires_at

expires_at: number

Defined in: src/auth/token-store.ts:23

Unix timestamp (ms) when the access token expires.

refresh_token

refresh_token: string

Defined in: src/auth/token-store.ts:21

The refresh token used to obtain new access tokens.

scope

scope: string

Defined in: src/auth/token-store.ts:25

Space-separated list of granted OAuth scopes.

Functions

deleteTokens()

deleteTokens(): Promise<void>

Defined in: src/auth/token-store.ts:68

Deletes stored tokens from disk (logout).

Returns

Promise<void>


getClientId()

getClientId(flagValue?): Promise<string>

Defined in: src/auth/token-store.ts:95

Resolves the Spotify client ID from (in priority order):

  1. The --client-id CLI flag
  2. The SPOTIFY_CLIENT_ID environment variable
  3. The stored config file

Parameters

flagValue?

string

Optional client ID from the CLI flag.

Returns

Promise<string>

The resolved client ID.

Throws

SpotifyCliError if no client ID can be found.


isExpired()

isExpired(tokens): boolean

Defined in: src/auth/token-store.ts:81

Checks whether the stored tokens are expired (with a 60-second buffer).

Parameters

tokens

StoredTokens

The tokens to check.

Returns

boolean

true if the access token is expired or about to expire.


loadTokens()

loadTokens(): Promise<StoredTokens>

Defined in: src/auth/token-store.ts:43

Loads stored tokens from disk.

Returns

Promise<StoredTokens>

The stored tokens.

Throws

SpotifyCliError if not logged in or the tokens file is invalid.


saveClientId()

saveClientId(clientId): Promise<void>

Defined in: src/auth/token-store.ts:116

Persists the client ID to the config file for future use.

Parameters

clientId

string

The Spotify application client ID to save.

Returns

Promise<void>


saveTokens()

saveTokens(tokens): Promise<void>

Defined in: src/auth/token-store.ts:32

Persists tokens to disk with secure file permissions (600).

Parameters

tokens

StoredTokens

The tokens to save.

Returns

Promise<void>

MIT Licensed. Not affiliated with or endorsed by Spotify AB.