OpenIdConnectClient

@ObjCName(swiftName = "OpenIdConnectClientProtocol", name = "OpenIdConnectClientProtocol", exact = true)
interface OpenIdConnectClient

Inheritors

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
abstract suspend fun createAccessTokenRequest(authCodeRequest: AuthCodeRequest, code: String, configure: HttpRequestBuilder.() -> Unit? = null): TokenRequest

Create an Access Token Request. You should use OpenIdConnectClient.exchangeToken for creating and executing a request instead.

Link copied to clipboard
abstract fun createAuthorizationCodeRequest(configure: URLBuilder.() -> Unit? = null): AuthCodeRequest

Creates an Authorization Code Request which can then be executed by the CodeAuthFlow.

Link copied to clipboard
abstract suspend fun createRefreshTokenRequest(refreshToken: String, configure: HttpRequestBuilder.() -> Unit? = null): TokenRequest

Create a Refresh Token Request. You should use OpenIdConnectClient.refreshToken for creating and executing a request instead.

Link copied to clipboard
abstract suspend fun discover(configure: HttpRequestBuilder.() -> Unit? = null)

Discover OpenID Connect Configuration using the discovery endpoint. Updates the configuration, but will keep any existing configuration.

Link copied to clipboard
abstract suspend fun endSession(idToken: String, configure: HttpRequestBuilder.() -> Unit? = null): HttpStatusCode

RP-initiated logout. Just performs the GET request for logout, we skip the redirect part for convenience.

Link copied to clipboard
abstract suspend fun exchangeToken(authCodeRequest: AuthCodeRequest, code: String, configure: HttpRequestBuilder.() -> Unit? = null): AccessTokenResponse

Create and send an Access Token Request following RFC6749: OAuth and RFC7636: PKCE

Link copied to clipboard
abstract suspend fun refreshToken(refreshToken: String, configure: HttpRequestBuilder.() -> Unit? = null): AccessTokenResponse

Create and send a Refresh Token Request. RFC6749