@@ -36,7 +36,6 @@ import io.ktor.client.call.body
36
36
import io.ktor.client.request.parameter
37
37
import io.ktor.client.statement.HttpResponse
38
38
import io.ktor.client.statement.bodyAsText
39
- import io.ktor.client.statement.request
40
39
import io.ktor.http.HttpMethod
41
40
import io.ktor.http.HttpStatusCode
42
41
import kotlinx.coroutines.CoroutineScope
@@ -52,8 +51,10 @@ import kotlinx.datetime.Clock
52
51
import kotlinx.serialization.json.JsonObject
53
52
import kotlinx.serialization.json.JsonObjectBuilder
54
53
import kotlinx.serialization.json.buildJsonObject
54
+ import kotlinx.serialization.json.contentOrNull
55
55
import kotlinx.serialization.json.encodeToJsonElement
56
56
import kotlinx.serialization.json.jsonObject
57
+ import kotlinx.serialization.json.jsonPrimitive
57
58
import kotlinx.serialization.json.put
58
59
import kotlin.time.Duration.Companion.seconds
59
60
@@ -152,8 +153,9 @@ internal class AuthImpl(
152
153
val url = getOAuthUrl(provider, redirectTo, " user/identities/authorize" , config)
153
154
val response = api.rawRequest(url) {
154
155
method = HttpMethod .Get
156
+ parameter(" skip_http_redirect" , true )
155
157
}
156
- response.request. url.toString( )
158
+ response.body< JsonObject >()[ " url" ]?.jsonPrimitive?.contentOrNull ? : error( " No URL found in response " )
157
159
}
158
160
if (! automaticallyOpen) {
159
161
return fetchUrl(redirectUrl ? : " " )
0 commit comments