in runtime/src/commonMain/kotlin/space/jetbrains/api/runtime/AuthCodeFlow.kt [124:143]
public suspend fun exchangeAuthCodeForToken(
ktorClient: HttpClient,
appInstance: SpaceAppInstance,
authCode: String,
redirectUri: String,
codeVerifier: String? = null,
): SpaceTokenInfo = auth(
ktorClient = ktorClient,
url = appInstance.spaceServer.oauthTokenUrl,
methodBody = Parameters.build {
append("grant_type", "authorization_code")
append("code", authCode)
append("redirect_uri", redirectUri)
if (codeVerifier != null) {
append("code_verifier", codeVerifier)
}
if (appInstance.clientSecretOrNull == null) {
append("client_id", appInstance.clientId)
}
},