public fun authCodeSpaceUrl()

in runtime/src/commonMain/kotlin/space/jetbrains/api/runtime/AuthCodeFlow.kt [66:91]


    public fun authCodeSpaceUrl(
        appInstance: SpaceAppInstance,
        scope: PermissionScope,
        state: String? = null,
        redirectUri: String,
        requestCredentials: OAuthRequestCredentials? = null,
        accessType: OAuthAccessType = OAuthAccessType.ONLINE,
        codeVerifier: String? = null,
    ): String = URLBuilder(appInstance.spaceServer.oauthAuthUrl).also {
        it.parameters.append("response_type", "code")
        if (state != null) {
            it.parameters.append("state", state)
        }
        it.parameters.append("redirect_uri", redirectUri)
        if (requestCredentials != null) {
            it.parameters.append("request_credentials", requestCredentials.parameterValue)
        }
        it.parameters.append("client_id", appInstance.clientId)
        it.parameters.append("scope", scope.toString())
        it.parameters.append("access_type", accessType.parameterValue)
        if (codeVerifier != null) {
            val (codeChallenge, codeChallengeMethod) = codeChallenge(codeVerifier)
            it.parameters.append("code_challenge_method", codeChallengeMethod.parameterValue)
            it.parameters.append("code_challenge", codeChallenge)
        }
    }.build().toString()