KDataStoreTokenStore

class KDataStoreTokenStore(dataStore: DataStore<Preferences>, accessTokenKey: String = "access_token", refreshTokenKey: String = "refresh_token") : KTokenStore(source)

KTokenStore backed by Jetpack DataStore.

Requires the DataStore dependency:

implementation("androidx.datastore:datastore-preferences:1.1.1")

Usage:

val dataStore = context.createDataStore(name = "kindling_tokens")

val session = KSessionManager(
store = KDataStoreTokenStore(dataStore)
)

Parameters

dataStore

Jetpack DataStore instance.

accessTokenKey

Preferences key name for the access token.

refreshTokenKey

Preferences key name for the refresh token.

Constructors

Link copied to clipboard
constructor(dataStore: DataStore<Preferences>, accessTokenKey: String = "access_token", refreshTokenKey: String = "refresh_token")

Functions

Link copied to clipboard
open suspend override fun clear()

Removes all stored tokens.

Link copied to clipboard
open suspend override fun getAccessToken(): String?

Returns the current access token, or null if none is stored.

Link copied to clipboard
open suspend override fun getRefreshToken(): String?

Returns the current refresh token, or null if none is stored.

Link copied to clipboard
open suspend override fun saveTokens(accessToken: String?, refreshToken: String?)

Persists both tokens.