Package-level declarations

Types

Link copied to clipboard
class AndroidTokenEncryptionHandler(keyAlias: String = DEFAULT_KEY_ALIAS, requireBiometric: Boolean = false, userAuthenticationTimeout: Int = 5, promptInfo: BiometricPrompt.PromptInfo? = null, keyStore: KeyStore = AndroidKeystoreUtil.keyStore, keyPairGenerator: KeyPairGenerator = AndroidKeystoreUtil.getRsaKeyPairGenerator()) : TokenEncryptionHandler

Android TokenEncryptionHandler backed by the Android Keystore, with optional biometric gating.

Link copied to clipboard

Configuration for the BearerTokenPlugin.

Link copied to clipboard
class BiometricKeyInvalidatedException(val tokenId: String, val keyAlias: String) : Exception

Thrown when the biometric key protecting a stored token has been permanently invalidated — for example, after the user enrolls a new biometric on the device.

Link copied to clipboard

Cross-platform credential interface providing token management operations.

Link copied to clipboard

Default cross-platform immutable implementation of Credential.

Link copied to clipboard

Platform-agnostic abstraction for storing the default credential ID.

Link copied to clipboard
data class EncryptionResult(val ciphertext: ByteArray, val encryptionExtras: Map<String, String> = emptyMap())

Result of an encryption operation, containing the ciphertext and optional platform-specific extras.

Link copied to clipboard
class JceTokenEncryptionHandler(keyProvider: () -> SecretKey = ::defaultKeyProvider) : TokenEncryptionHandler

JVM-based AES-256-GCM token encryption handler for KMP apps.

Link copied to clipboard

No-op TokenEncryptionHandler that stores tokens in plaintext.

Link copied to clipboard
class TokenCredentialManager(val client: OAuth2Client, storage: TokenStorage, val defaultIdStore: DefaultCredentialIdStore, val onStorageError: (Exception) -> Boolean? = null)

Cross-platform credential manager providing CRUD operations for credentials.

Link copied to clipboard
class TokenData(val id: String, val tokenType: String, val expiresIn: Int, val accessToken: String, val scope: String?, val refreshToken: String?, val idToken: String?, val deviceSecret: String?, val issuedTokenType: String?, val configuration: OAuth2ClientConfiguration, val issuedAt: Long = configuration.clock.currentTimeEpochSecond() - expiresIn) : TokenInfo

Default cross-platform implementation of TokenInfo.

Link copied to clipboard

Platform-agnostic interface for encrypting and decrypting token data.

Link copied to clipboard

Platform-agnostic signal thrown by a TokenEncryptionHandler.decrypt implementation when the key protecting the ciphertext has been permanently invalidated (for example, an Android Keystore key invalidated by new biometric enrollment).

Link copied to clipboard
interface TokenStorage

Platform-agnostic abstraction for persisting and retrieving OAuth2 tokens.

Properties

Link copied to clipboard
val BearerTokenPlugin: ERROR CLASS: Unresolved name: createClientPlugin

A Ktor HttpClient plugin that attaches Bearer tokens to outgoing requests.