Skip to content

Commit ace50b0

Browse files
authored
Merge pull request #79 from passageidentity/PSG-4798
PSG-4798
2 parents 4c89616 + 9bf33f5 commit ace50b0

23 files changed

+406
-46
lines changed

passage/generated/.openapi-generator/FILES

+6-8
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ docs/AuthenticateWebAuthnFinishWithTransactionRequest.md
2727
docs/AuthenticateWebAuthnStartWithTransactionRequest.md
2828
docs/AuthenticateWebAuthnStartWithTransactionResponse.md
2929
docs/AuthenticatorAttachment.md
30+
docs/CreatePasskeyReadinessRequest.md
3031
docs/CreateUserParams.md
32+
docs/CreateUserResponse.md
3133
docs/Credential.md
3234
docs/CredentialAssertionChallenge.md
33-
docs/CredentialAssertionChallenge1.md
3435
docs/CredentialAssertionResponse.md
3536
docs/CredentialAssertionResponseResponse.md
3637
docs/CredentialCreation.md
@@ -79,10 +80,8 @@ docs/OneTimePasscodeResponse.md
7980
docs/OpenIDAPI.md
8081
docs/OpenIdConfiguration.md
8182
docs/OtpAuthMethod.md
83+
docs/PasskeyReadinessAPI.md
8284
docs/ProtocolCredentialAssertion.md
83-
docs/ProtocolCredentialAssertion1.md
84-
docs/ProtocolCredentialAssertion1PublicKey.md
85-
docs/ProtocolCredentialAssertion1PublicKeyAllowCredentialsInner.md
8685
docs/ProtocolCredentialAssertionPublicKey.md
8786
docs/ProtocolCredentialAssertionPublicKeyAllowCredentialsInner.md
8887
docs/RefreshAuthTokenRequest.md
@@ -127,6 +126,7 @@ src/main/kotlin/id/passage/android/api/MagicLinkAPI.kt
127126
src/main/kotlin/id/passage/android/api/OAuth2API.kt
128127
src/main/kotlin/id/passage/android/api/OTPAPI.kt
129128
src/main/kotlin/id/passage/android/api/OpenIDAPI.kt
129+
src/main/kotlin/id/passage/android/api/PasskeyReadinessAPI.kt
130130
src/main/kotlin/id/passage/android/api/RegisterAPI.kt
131131
src/main/kotlin/id/passage/android/api/TokensAPI.kt
132132
src/main/kotlin/id/passage/android/api/UsersAPI.kt
@@ -143,10 +143,11 @@ src/main/kotlin/id/passage/android/model/AuthenticateWebAuthnFinishWithTransacti
143143
src/main/kotlin/id/passage/android/model/AuthenticateWebAuthnStartWithTransactionRequest.kt
144144
src/main/kotlin/id/passage/android/model/AuthenticateWebAuthnStartWithTransactionResponse.kt
145145
src/main/kotlin/id/passage/android/model/AuthenticatorAttachment.kt
146+
src/main/kotlin/id/passage/android/model/CreatePasskeyReadinessRequest.kt
146147
src/main/kotlin/id/passage/android/model/CreateUserParams.kt
148+
src/main/kotlin/id/passage/android/model/CreateUserResponse.kt
147149
src/main/kotlin/id/passage/android/model/Credential.kt
148150
src/main/kotlin/id/passage/android/model/CredentialAssertionChallenge.kt
149-
src/main/kotlin/id/passage/android/model/CredentialAssertionChallenge1.kt
150151
src/main/kotlin/id/passage/android/model/CredentialAssertionResponse.kt
151152
src/main/kotlin/id/passage/android/model/CredentialAssertionResponseResponse.kt
152153
src/main/kotlin/id/passage/android/model/CredentialCreation.kt
@@ -201,9 +202,6 @@ src/main/kotlin/id/passage/android/model/OneTimePasscodeResponse.kt
201202
src/main/kotlin/id/passage/android/model/OpenIdConfiguration.kt
202203
src/main/kotlin/id/passage/android/model/OtpAuthMethod.kt
203204
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertion.kt
204-
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertion1.kt
205-
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertion1PublicKey.kt
206-
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertion1PublicKeyAllowCredentialsInner.kt
207205
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertionPublicKey.kt
208206
src/main/kotlin/id/passage/android/model/ProtocolCredentialAssertionPublicKeyAllowCredentialsInner.kt
209207
src/main/kotlin/id/passage/android/model/RefreshAuthTokenRequest.kt

passage/generated/README.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Class | Method | HTTP request | Description
7777
*OAuth2API* | [**oauth2CallbackDefaultDev**](docs/OAuth2API.md#oauth2callbackdefaultdev) | **GET** /social/oauth2_callback | Handle OAuth2 callback for the default developer credentials
7878
*OTPAPI* | [**activateOneTimePasscode**](docs/OTPAPI.md#activateonetimepasscode) | **POST** /apps/{app_id}/otp/activate | Authenticate OTP
7979
*OpenIDAPI* | [**getOpenIdConfiguration**](docs/OpenIDAPI.md#getopenidconfiguration) | **GET** /apps/{app_id}/.well-known/openid-configuration | Get OpenID Configuration
80+
*PasskeyReadinessAPI* | [**createPasskeyReadiness**](docs/PasskeyReadinessAPI.md#createpasskeyreadiness) | **POST** /analytics/passkey-readiness | Create Passkey Readiness Analytics
8081
*RegisterAPI* | [**registerMagicLink**](docs/RegisterAPI.md#registermagiclink) | **POST** /apps/{app_id}/register/magic-link | Register with Magic Link
8182
*RegisterAPI* | [**registerOneTimePasscode**](docs/RegisterAPI.md#registeronetimepasscode) | **POST** /apps/{app_id}/register/otp | Register with OTP
8283
*RegisterAPI* | [**registerWebauthnFinish**](docs/RegisterAPI.md#registerwebauthnfinish) | **POST** /apps/{app_id}/register/webauthn/finish | Finish WebAuthn Registration
@@ -105,10 +106,11 @@ Class | Method | HTTP request | Description
105106
- [id.passage.android.model.AuthenticateWebAuthnStartWithTransactionRequest](docs/AuthenticateWebAuthnStartWithTransactionRequest.md)
106107
- [id.passage.android.model.AuthenticateWebAuthnStartWithTransactionResponse](docs/AuthenticateWebAuthnStartWithTransactionResponse.md)
107108
- [id.passage.android.model.AuthenticatorAttachment](docs/AuthenticatorAttachment.md)
109+
- [id.passage.android.model.CreatePasskeyReadinessRequest](docs/CreatePasskeyReadinessRequest.md)
108110
- [id.passage.android.model.CreateUserParams](docs/CreateUserParams.md)
111+
- [id.passage.android.model.CreateUserResponse](docs/CreateUserResponse.md)
109112
- [id.passage.android.model.Credential](docs/Credential.md)
110113
- [id.passage.android.model.CredentialAssertionChallenge](docs/CredentialAssertionChallenge.md)
111-
- [id.passage.android.model.CredentialAssertionChallenge1](docs/CredentialAssertionChallenge1.md)
112114
- [id.passage.android.model.CredentialAssertionResponse](docs/CredentialAssertionResponse.md)
113115
- [id.passage.android.model.CredentialAssertionResponseResponse](docs/CredentialAssertionResponseResponse.md)
114116
- [id.passage.android.model.CredentialCreation](docs/CredentialCreation.md)
@@ -163,9 +165,6 @@ Class | Method | HTTP request | Description
163165
- [id.passage.android.model.OpenIdConfiguration](docs/OpenIdConfiguration.md)
164166
- [id.passage.android.model.OtpAuthMethod](docs/OtpAuthMethod.md)
165167
- [id.passage.android.model.ProtocolCredentialAssertion](docs/ProtocolCredentialAssertion.md)
166-
- [id.passage.android.model.ProtocolCredentialAssertion1](docs/ProtocolCredentialAssertion1.md)
167-
- [id.passage.android.model.ProtocolCredentialAssertion1PublicKey](docs/ProtocolCredentialAssertion1PublicKey.md)
168-
- [id.passage.android.model.ProtocolCredentialAssertion1PublicKeyAllowCredentialsInner](docs/ProtocolCredentialAssertion1PublicKeyAllowCredentialsInner.md)
169168
- [id.passage.android.model.ProtocolCredentialAssertionPublicKey](docs/ProtocolCredentialAssertionPublicKey.md)
170169
- [id.passage.android.model.ProtocolCredentialAssertionPublicKeyAllowCredentialsInner](docs/ProtocolCredentialAssertionPublicKeyAllowCredentialsInner.md)
171170
- [id.passage.android.model.RefreshAuthTokenRequest](docs/RefreshAuthTokenRequest.md)
@@ -198,6 +197,13 @@ Class | Method | HTTP request | Description
198197
<a name="documentation-for-authorization"></a>
199198
## Documentation for Authorization
200199

200+
<a name="ApiKeyAuth"></a>
201+
### ApiKeyAuth
202+
203+
- **Type**: API key
204+
- **API key parameter name**: X-API-KEY
205+
- **Location**: HTTP header
206+
201207
<a name="bearerAuth"></a>
202208
### bearerAuth
203209

passage/generated/docs/401Code.md

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
* `invalidAccessToken` (value: `"invalid_access_token"`)
1414

15+
* `invalidRefreshToken` (value: `"invalid_refresh_token"`)
16+
1517
* `exceededAttempts` (value: `"exceeded_attempts"`)
1618

1719

passage/generated/docs/AuthenticateWebAuthnStartWithTransactionResponse.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
## Properties
55
Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
7-
**handshake** | [**CredentialAssertionChallenge1**](CredentialAssertionChallenge1.md) | |
7+
**handshake** | [**CredentialAssertionChallenge**](CredentialAssertionChallenge.md) | |
88
**transactionId** | **kotlin.String** | the transaction ID provided for this authentication attempt, null if not provided | [optional]
99

1010

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
# CreatePasskeyReadinessRequest
3+
4+
## Properties
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**deviceId** | **kotlin.String** | |
8+
**securityKey** | **kotlin.Boolean** | |
9+
**platform** | **kotlin.Boolean** | |
10+
**syncedCredential** | **kotlin.Boolean** | |
11+
**crossDeviceCredential** | **kotlin.Boolean** | |
12+
**conditionalUi** | **kotlin.Boolean** | |
13+
14+
15+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
# CreateUserResponse
3+
4+
## Properties
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**user** | [**User**](User.md) | |
8+
9+
10+

passage/generated/docs/LoginWebAuthnStartResponse.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
## Properties
55
Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
7-
**handshake** | [**CredentialAssertionChallenge1**](CredentialAssertionChallenge1.md) | |
7+
**handshake** | [**CredentialAssertionChallenge**](CredentialAssertionChallenge.md) | |
88
**user** | [**User**](User.md) | | [optional]
99

1010

passage/generated/docs/OAuth2API.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ No authorization required
268268

269269
<a name="getAuthorize"></a>
270270
# **getAuthorize**
271-
> getAuthorize(appId, redirectUri, codeChallenge, codeChallengeMethod, connectionType, state)
271+
> getAuthorize(appId, redirectUri, codeChallenge, codeChallengeMethod, connectionType, state, loginHint)
272272
273273
Kick off OAuth2 flow
274274

@@ -287,8 +287,9 @@ val codeChallenge : kotlin.String = codeChallenge_example // kotlin.String | Cod
287287
val codeChallengeMethod : kotlin.String = codeChallengeMethod_example // kotlin.String | Code challenge method.
288288
val connectionType : kotlin.String = connectionType_example // kotlin.String | connection type; google, github, apple, or passage to login with
289289
val state : kotlin.String = state_example // kotlin.String | The state to pass through to the redirect URI.
290+
val loginHint : kotlin.String = loginHint_example // kotlin.String | Hint to the Authorization Server about the login identifier the end-user might use to log in.
290291
try {
291-
apiInstance.getAuthorize(appId, redirectUri, codeChallenge, codeChallengeMethod, connectionType, state)
292+
apiInstance.getAuthorize(appId, redirectUri, codeChallenge, codeChallengeMethod, connectionType, state, loginHint)
292293
} catch (e: ClientException) {
293294
println("4xx response calling OAuth2API#getAuthorize")
294295
e.printStackTrace()
@@ -308,6 +309,7 @@ Name | Type | Description | Notes
308309
**codeChallengeMethod** | **kotlin.String**| Code challenge method. |
309310
**connectionType** | **kotlin.String**| connection type; google, github, apple, or passage to login with | [enum: apple, github, google, passage]
310311
**state** | **kotlin.String**| The state to pass through to the redirect URI. | [optional]
312+
**loginHint** | **kotlin.String**| Hint to the Authorization Server about the login identifier the end-user might use to log in. | [optional]
311313

312314
### Return type
313315

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# PasskeyReadinessAPI
2+
3+
All URIs are relative to *https://auth.passage.id/v1*
4+
5+
Method | HTTP request | Description
6+
------------- | ------------- | -------------
7+
[**createPasskeyReadiness**](PasskeyReadinessAPI.md#createPasskeyReadiness) | **POST** /analytics/passkey-readiness | Create Passkey Readiness Analytics
8+
9+
10+
<a name="createPasskeyReadiness"></a>
11+
# **createPasskeyReadiness**
12+
> createPasskeyReadiness(createPasskeyReadinessRequest, userAgent, origin, deviceOS, deviceOSVersion, appIdentifier)
13+
14+
Create Passkey Readiness Analytics
15+
16+
Sends device&#39;s WebAuthn passkey readiness metrics
17+
18+
### Example
19+
```kotlin
20+
// Import classes:
21+
//import id.passage.client.infrastructure.*
22+
//import id.passage.android.model.*
23+
24+
val apiInstance = PasskeyReadinessAPI()
25+
val createPasskeyReadinessRequest : CreatePasskeyReadinessRequest = // CreatePasskeyReadinessRequest | Passkey readiness metrics
26+
val userAgent : kotlin.String = userAgent_example // kotlin.String |
27+
val origin : kotlin.String = origin_example // kotlin.String | url for passkey readiness
28+
val deviceOS : kotlin.String = deviceOS_example // kotlin.String | device os - mobile only
29+
val deviceOSVersion : kotlin.String = deviceOSVersion_example // kotlin.String | device os version - mobile only
30+
val appIdentifier : kotlin.String = appIdentifier_example // kotlin.String | app identifier - mobile only
31+
try {
32+
apiInstance.createPasskeyReadiness(createPasskeyReadinessRequest, userAgent, origin, deviceOS, deviceOSVersion, appIdentifier)
33+
} catch (e: ClientException) {
34+
println("4xx response calling PasskeyReadinessAPI#createPasskeyReadiness")
35+
e.printStackTrace()
36+
} catch (e: ServerException) {
37+
println("5xx response calling PasskeyReadinessAPI#createPasskeyReadiness")
38+
e.printStackTrace()
39+
}
40+
```
41+
42+
### Parameters
43+
44+
Name | Type | Description | Notes
45+
------------- | ------------- | ------------- | -------------
46+
**createPasskeyReadinessRequest** | [**CreatePasskeyReadinessRequest**](CreatePasskeyReadinessRequest.md)| Passkey readiness metrics |
47+
**userAgent** | **kotlin.String**| | [optional]
48+
**origin** | **kotlin.String**| url for passkey readiness | [optional]
49+
**deviceOS** | **kotlin.String**| device os - mobile only | [optional]
50+
**deviceOSVersion** | **kotlin.String**| device os version - mobile only | [optional]
51+
**appIdentifier** | **kotlin.String**| app identifier - mobile only | [optional]
52+
53+
### Return type
54+
55+
null (empty response body)
56+
57+
### Authorization
58+
59+
60+
Configure ApiKeyAuth:
61+
ApiClient.apiKey["X-API-KEY"] = ""
62+
ApiClient.apiKeyPrefix["X-API-KEY"] = ""
63+
64+
### HTTP request headers
65+
66+
- **Content-Type**: application/json
67+
- **Accept**: application/json
68+

passage/generated/docs/ProtocolCredentialAssertionPublicKeyAllowCredentialsInner.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
77
**id** | **kotlin.String** | CredentialID The ID of a credential to allow/disallow. |
8-
**transports** | **kotlin.collections.List&lt;kotlin.String&gt;** | The authenticator transports that can be used. |
98
**type** | **kotlin.String** | The valid credential types. |
9+
**transports** | **kotlin.collections.List&lt;kotlin.String&gt;** | The authenticator transports that can be used. | [optional]
1010

1111

1212

passage/generated/docs/UsersAPI.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ No authorization required
5959

6060
<a name="createUser"></a>
6161
# **createUser**
62-
> UserResponse createUser(appId, createUserParams)
62+
> CreateUserResponse createUser(appId, createUserParams)
6363
6464
Create User
6565

@@ -75,7 +75,7 @@ val apiInstance = UsersAPI()
7575
val appId : kotlin.String = appId_example // kotlin.String | App ID
7676
val createUserParams : CreateUserParams = // CreateUserParams | user options
7777
try {
78-
val result : UserResponse = apiInstance.createUser(appId, createUserParams)
78+
val result : CreateUserResponse = apiInstance.createUser(appId, createUserParams)
7979
println(result)
8080
} catch (e: ClientException) {
8181
println("4xx response calling UsersAPI#createUser")
@@ -95,7 +95,7 @@ Name | Type | Description | Notes
9595

9696
### Return type
9797

98-
[**UserResponse**](UserResponse.md)
98+
[**CreateUserResponse**](CreateUserResponse.md)
9999

100100
### Authorization
101101

passage/generated/src/main/kotlin/id/passage/android/api/OAuth2API.kt

+11-5
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ class OAuth2API(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
494494
* @param codeChallengeMethod Code challenge method.
495495
* @param connectionType connection type; google, github, apple, or passage to login with
496496
* @param state The state to pass through to the redirect URI. (optional)
497+
* @param loginHint Hint to the Authorization Server about the login identifier the end-user might use to log in. (optional)
497498
* @return void
498499
* @throws IllegalStateException If the request is not correctly configured
499500
* @throws IOException Rethrows the OkHttp execute method exception
@@ -502,8 +503,8 @@ class OAuth2API(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
502503
* @throws ServerException If the API returns a server error response
503504
*/
504505
@Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class)
505-
suspend fun getAuthorize(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String? = null) : Unit = withContext(Dispatchers.IO) {
506-
val localVarResponse = getAuthorizeWithHttpInfo(appId = appId, redirectUri = redirectUri, codeChallenge = codeChallenge, codeChallengeMethod = codeChallengeMethod, connectionType = connectionType, state = state)
506+
suspend fun getAuthorize(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String? = null, loginHint: kotlin.String? = null) : Unit = withContext(Dispatchers.IO) {
507+
val localVarResponse = getAuthorizeWithHttpInfo(appId = appId, redirectUri = redirectUri, codeChallenge = codeChallenge, codeChallengeMethod = codeChallengeMethod, connectionType = connectionType, state = state, loginHint = loginHint)
507508

508509
return@withContext when (localVarResponse.responseType) {
509510
ResponseType.Success -> Unit
@@ -529,13 +530,14 @@ class OAuth2API(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
529530
* @param codeChallengeMethod Code challenge method.
530531
* @param connectionType connection type; google, github, apple, or passage to login with
531532
* @param state The state to pass through to the redirect URI. (optional)
533+
* @param loginHint Hint to the Authorization Server about the login identifier the end-user might use to log in. (optional)
532534
* @return ApiResponse<Unit?>
533535
* @throws IllegalStateException If the request is not correctly configured
534536
* @throws IOException Rethrows the OkHttp execute method exception
535537
*/
536538
@Throws(IllegalStateException::class, IOException::class)
537-
suspend fun getAuthorizeWithHttpInfo(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String?) : ApiResponse<Unit?> = withContext(Dispatchers.IO) {
538-
val localVariableConfig = getAuthorizeRequestConfig(appId = appId, redirectUri = redirectUri, codeChallenge = codeChallenge, codeChallengeMethod = codeChallengeMethod, connectionType = connectionType, state = state)
539+
suspend fun getAuthorizeWithHttpInfo(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String?, loginHint: kotlin.String?) : ApiResponse<Unit?> = withContext(Dispatchers.IO) {
540+
val localVariableConfig = getAuthorizeRequestConfig(appId = appId, redirectUri = redirectUri, codeChallenge = codeChallenge, codeChallengeMethod = codeChallengeMethod, connectionType = connectionType, state = state, loginHint = loginHint)
539541

540542
return@withContext request<Unit, Unit>(
541543
localVariableConfig
@@ -551,16 +553,20 @@ class OAuth2API(basePath: kotlin.String = defaultBasePath, client: OkHttpClient
551553
* @param codeChallengeMethod Code challenge method.
552554
* @param connectionType connection type; google, github, apple, or passage to login with
553555
* @param state The state to pass through to the redirect URI. (optional)
556+
* @param loginHint Hint to the Authorization Server about the login identifier the end-user might use to log in. (optional)
554557
* @return RequestConfig
555558
*/
556-
fun getAuthorizeRequestConfig(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String?) : RequestConfig<Unit> {
559+
fun getAuthorizeRequestConfig(appId: kotlin.String, redirectUri: kotlin.String, codeChallenge: kotlin.String, codeChallengeMethod: kotlin.String, connectionType: ConnectionType_getAuthorize, state: kotlin.String?, loginHint: kotlin.String?) : RequestConfig<Unit> {
557560
val localVariableBody = null
558561
val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>()
559562
.apply {
560563
put("redirect_uri", listOf(redirectUri.toString()))
561564
if (state != null) {
562565
put("state", listOf(state.toString()))
563566
}
567+
if (loginHint != null) {
568+
put("login_hint", listOf(loginHint.toString()))
569+
}
564570
put("code_challenge", listOf(codeChallenge.toString()))
565571
put("code_challenge_method", listOf(codeChallengeMethod.toString()))
566572
put("connection_type", listOf(connectionType.toString()))

0 commit comments

Comments
 (0)