TokenRequestParameters

@Serializable
data class TokenRequestParameters(val grantType: String, val code: String? = null, val scope: String? = null, val resource: String? = null, val audience: String? = null, val requestedTokenType: String? = null, val subjectToken: String? = null, val subjectTokenType: String? = null, val actorToken: String? = null, val actorTokenType: String? = null, val refreshToken: String? = null, val redirectUrl: String? = null, val clientId: String? = null, val authorizationDetails: Set<AuthorizationDetails>? = null, val preAuthorizedCode: String? = null, val transactionCode: String? = null, val codeVerifier: String? = null, val clientData: String? = null)(source)

Constructors

Link copied to clipboard
constructor(grantType: String, code: String? = null, scope: String? = null, resource: String? = null, audience: String? = null, requestedTokenType: String? = null, subjectToken: String? = null, subjectTokenType: String? = null, actorToken: String? = null, actorTokenType: String? = null, refreshToken: String? = null, redirectUrl: String? = null, clientId: String? = null, authorizationDetails: Set<AuthorizationDetails>? = null, preAuthorizedCode: String? = null, transactionCode: String? = null, codeVerifier: String? = null, clientData: String? = null)

Properties

Link copied to clipboard
@SerialName(value = "actor_token")
val actorToken: String?

RFC8693: Optional security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.

Link copied to clipboard
@SerialName(value = "actor_token_type")
val actorTokenType: String?

RFC8693: An identifier that indicates the type of the security token in the actorToken parameter. This is REQUIRED when the actorToken parameter is present in the request but MUST NOT be included otherwise.

Link copied to clipboard
@SerialName(value = "audience")
val audience: String?

RFC8693: Optional logical name of the target service where the client intends to use the requested security token. This serves a purpose similar to the resource parameter but with the client providing a logical name for the target service.

Link copied to clipboard
@SerialName(value = "authorization_details")
val authorizationDetails: Set<AuthorizationDetails>?

OID4VCI: Credential Issuers MAY support requesting authorization to issue a Credential using this parameter. The request parameter authorization_details defined in Section 2 of RFC9396 MUST be used to convey the details about the Credentials the Wallet wants to obtain.

Link copied to clipboard
@SerialName(value = "clientData")
val clientData: String?

CSC: OPTIONAL Arbitrary data from the signature application. It can be used to handle a transaction identifier or other application-spe cific data that may be useful for debugging purposes

Link copied to clipboard
@SerialName(value = "client_id")
val clientId: String?

RFC6749: REQUIRED, if the client is not authenticating with the authorization server.

Link copied to clipboard
@SerialName(value = "code")
val code: String?

RFC6749: REQUIRED. The authorization code received from the authorization server.

Link copied to clipboard
@SerialName(value = "code_verifier")
val codeVerifier: String?

RFC7636: A cryptographically random string that is used to correlate the authorization request to the token request.

Link copied to clipboard
@SerialName(value = "grant_type")
val grantType: String

RFC6749: REQUIRED. Value MUST be set to authorization_code.

Link copied to clipboard
@SerialName(value = "pre-authorized_code")
val preAuthorizedCode: String?

OID4VCI: The code representing the authorization to obtain Credentials of a certain type. This parameter MUST be present if grantType is urn:ietf:params:oauth:grant-type:pre-authorized_code.

Link copied to clipboard
@SerialName(value = "redirect_uri")
val redirectUrl: String?

RFC6749: REQUIRED, if the redirect_uri parameter was included in the authorization request, and their values MUST be identical.

Link copied to clipboard
@SerialName(value = "refresh_token")
val refreshToken: String?

RFC6749: OPTIONAL. The refresh token issued to the client.

Link copied to clipboard
@SerialName(value = "requested_token_type")
val requestedTokenType: String?

RFC8693: Optional identifier for the type of the requested security token. If the requested type is unspecified, the issued token type is at the discretion of the authorization server and may be dictated by knowledge of the requirements of the service or resource indicated by the resource or audience parameter.

Link copied to clipboard
@SerialName(value = "resource")
val resource: String?

RFC8707: When requesting a token, the client can indicate the desired target service(s) where it intends to use that token by way of the resource parameter and can indicate the desired scope of the requested token using the scope parameter.

Link copied to clipboard
@SerialName(value = "scope")
val scope: String?

RFC6749: OPTIONAL. The authorization and token endpoints allow the client to specify the scope of the access request using the "scope" request parameter. In turn, the authorization server uses the "scope" response parameter to inform the client of the scope of the access token issued.

Link copied to clipboard
@SerialName(value = "subject_token")
val subjectToken: String?

RFC8693: Required security token that represents the identity of the party on behalf of whom the request is being made. Typically, the subject of this token will be the subject of the security token issued in response to the request.

Link copied to clipboard
@SerialName(value = "subject_token_type")
val subjectTokenType: String?

RFC8693: Required identifier that indicates the type of the security token in the subject_token parameter.

Link copied to clipboard
@SerialName(value = "tx_code")
val transactionCode: String?

OID4VCI: OPTIONAL. String value containing a Transaction Code. This value MUST be present if a tx_code object was present in the Credential Offer (including if the object was empty). This parameter MUST only be used if the grantType is urn:ietf:params:oauth:grant-type:pre-authorized_code.