Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c937ad7 authored by Olivier Blin's avatar Olivier Blin Committed by cketti
Browse files

Move redirectUri in OAuthConfiguration

Not all providers accept the redirect URI Google requires Android apps to use.
parent da5f8a70
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -48,7 +48,8 @@ class ProvidersXmlDiscoveryTest : RobolectricTest() {
            clientId = "irrelevant",
            scopes = listOf("irrelevant"),
            authorizationEndpoint = "irrelevant",
            tokenEndpoint = "irrelevant"
            tokenEndpoint = "irrelevant",
            redirectUri = "irrelevant"
        )

        return OAuthConfigurationProvider(
+2 −1
Original line number Diff line number Diff line
@@ -4,5 +4,6 @@ data class OAuthConfiguration(
    val clientId: String,
    val scopes: List<String>,
    val authorizationEndpoint: String,
    val tokenEndpoint: String
    val tokenEndpoint: String,
    val redirectUri: String
)
+2 −1
Original line number Diff line number Diff line
@@ -9,7 +9,8 @@ fun createOAuthConfigurationProvider(): OAuthConfigurationProvider {
        clientId = BuildConfig.OAUTH_GMAIL_CLIENT_ID,
        scopes = listOf("https://mail.google.com/"),
        authorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth",
        tokenEndpoint = "https://oauth2.googleapis.com/token"
        tokenEndpoint = "https://oauth2.googleapis.com/token",
        redirectUri = BuildConfig.APPLICATION_ID + ":/oauth2redirect"
    )

    return OAuthConfigurationProvider(
+1 −5
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@ import android.app.Application
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.net.Uri
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.ActivityResultRegistry
import androidx.activity.result.contract.ActivityResultContract
@@ -116,14 +115,11 @@ class AuthViewModel(
            config.tokenEndpoint.toUri()
        )

        val applicationId = getApplication<Application>().packageName
        val redirectUri = Uri.parse("$applicationId:/oauth2redirect")

        val authRequestBuilder = AuthorizationRequest.Builder(
            serviceConfig,
            config.clientId,
            ResponseTypeValues.CODE,
            redirectUri
            config.redirectUri.toUri()
        )

        val scopeString = config.scopes.joinToString(separator = " ")