ApplicationSupport

Server-side support functionality for the wallet mobile app. This is needed even if the full-blown wallet server is not used.

Functions

Link copied to clipboard
open suspend fun collect(collector: FlowCollector<LandingUrlNotification>)
Link copied to clipboard
abstract suspend fun createJwtClientAssertion(tokenUrl: String): String

Creates fresh OAuth JWT client assertion based on the server-side key and clientId.

Link copied to clipboard
abstract suspend fun createJwtClientAttestation(keyAttestation: KeyAttestation, deviceAssertion: DeviceAssertion): String

Creates OAuth JWT client attestation based on the mobile-platform-specific KeyAttestation for the given OpenId4VCI issuance server specified in AssertionPoPKey.targetUrl.

Link copied to clipboard
abstract suspend fun createJwtKeyAttestation(keyAttestations: List<KeyAttestation>, keysAssertion: DeviceAssertion): String

Creates OAuth JWT key attestation based on the given list of mobile-platform-specific KeyAttestations.

Link copied to clipboard
abstract suspend fun createLandingUrl(): String

Creates a "landing" absolute URL suitable for web redirects. When a landing URL is navigated to, LandingUrlNotification is sent to the client.

Link copied to clipboard
open suspend fun dispose()
Link copied to clipboard
abstract suspend fun getClientAssertionId(tokenUrl: String): String

Looks up OAuth client id for the given OpenId4VCI issuance server targetIssuanceUrl.

Link copied to clipboard
abstract suspend fun getLandingUrlStatus(landingUrl: String): String?

Returns the query portion of the URL which was actually used when navigating to a landing URL, or null if navigation did not occur yet.