Constructors

Link copied to clipboard
constructor(acceptedCredentials: Collection<ConstantIndex.CredentialScheme>)

Properties

Link copied to clipboard
open override val publicContext: String

Used in several fields in at.asitplus.openid.IssuerMetadata, to provide endpoint URLs to clients.

Functions

Link copied to clipboard
open suspend override fun authorize(input: RequestParameters, loadUserFun: OAuth2LoadUserFun): KmmResult<AuthenticationResponseResult.Redirect>

Builds the authentication response for this specific user from loadUserFun. Send this result as HTTP Header Location in a 302 response to the client.

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

If this is an internal AS, provide a fresh DPoP nonce for clients.

Link copied to clipboard
open suspend override fun getTokenInfo(authorizationHeader: String, httpRequest: RequestInfo?): KmmResult<TokenInfo>

Obtains information about the token, either by performing token introspection, or by decoding the access token directly (if it is an at.asitplus.wallet.lib.oauth2.OpenId4VciAccessToken).

Link copied to clipboard
open suspend override fun getUserInfo(authorizationHeader: String, httpRequest: RequestInfo?): KmmResult<JsonObject>

Obtains a JSON object representing at.asitplus.openid.OidcUserInfo from the Authorization Server, with the wallet's access token in authorizationHeader (which the implementation may need to exchange at the AS first).

Link copied to clipboard
open suspend override fun metadata(): OAuth2AuthorizationServerMetadata

Provide necessary OAuth2AuthorizationServerMetadata JSON for a client to be able to authenticate.

Link copied to clipboard
open suspend override fun par(request: RequestParameters, httpRequest: RequestInfo?): KmmResult<PushedAuthenticationResponseParameters>
open suspend override fun par(input: String, httpRequest: RequestInfo?): KmmResult<PushedAuthenticationResponseParameters>

Pushed authorization request endpoint as defined in RFC 9126. Clients send their authorization request as HTTP POST with application/x-www-form-urlencoded to the AS.

Link copied to clipboard
open suspend override fun token(request: TokenRequestParameters, httpRequest: RequestInfo?): KmmResult<TokenResponseParameters>

Verifies the authorization code sent by the client and issues an access token. Send this value JSON-serialized back to the client.

Link copied to clipboard
open suspend override fun tokenIntrospection(request: TokenIntrospectionRequest, httpRequest: RequestInfo?): KmmResult<TokenIntrospectionResponse>

RFC7662: OAuth 2.0 Token Introspection

Link copied to clipboard
open suspend override fun userInfo(authorizationHeader: String, httpRequest: RequestInfo?): KmmResult<JsonObject>

Returns the user info associated with this access token, when the token in authorizationHeader is correct.

Link copied to clipboard
open suspend override fun validateAccessToken(authorizationHeader: String, httpRequest: RequestInfo?): KmmResult<Boolean>

Validates the access token sent to CredentialIssuer.credential.