diff --git a/libraries/matrix/api/build.gradle.kts b/libraries/matrix/api/build.gradle.kts index 2a326527df..d0790a6905 100644 --- a/libraries/matrix/api/build.gradle.kts +++ b/libraries/matrix/api/build.gradle.kts @@ -24,6 +24,11 @@ android { } defaultConfig { + buildConfigField( + name = "OAUTH_CLIENT_URI_PATH", + type = "String", + value = BuildTimeConfig.OAUTH_CLIENT_URL_PATH?.let { "\"$it\"" } ?: "null", + ) buildConfigFieldStr( name = "CLIENT_URI", value = BuildTimeConfig.URL_WEBSITE ?: "https://element.io" diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/OAuthConfig.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/OAuthConfig.kt index d3a42f42b9..3256d0545c 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/OAuthConfig.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/OAuthConfig.kt @@ -11,7 +11,10 @@ package io.element.android.libraries.matrix.api.auth import io.element.android.libraries.matrix.api.BuildConfig object OAuthConfig { - const val CLIENT_URI = BuildConfig.CLIENT_URI + val CLIENT_URI = BuildConfig.OAUTH_CLIENT_URI_PATH?.let { + // Concatenate the base URI and the path, ensuring there is exactly one '/' between them + "${BuildConfig.CLIENT_URI.trimEnd('/')}/${it.trimStart('/')}" + } ?: BuildConfig.CLIENT_URI // Note: host must match with the host of CLIENT_URI const val LOGO_URI = BuildConfig.LOGO_URI diff --git a/plugins/src/main/kotlin/config/BuildTimeConfig.kt b/plugins/src/main/kotlin/config/BuildTimeConfig.kt index 8cfa533609..9c8c5c986a 100644 --- a/plugins/src/main/kotlin/config/BuildTimeConfig.kt +++ b/plugins/src/main/kotlin/config/BuildTimeConfig.kt @@ -22,6 +22,7 @@ object BuildTimeConfig { val URL_ACCEPTABLE_USE: String? = null val URL_PRIVACY: String? = null val URL_POLICY: String? = null + val OAUTH_CLIENT_URL_PATH: String? = null val SERVICES_MAPTILER_BASE_URL: String? = null val SERVICES_MAPTILER_APIKEY: String? = null val SERVICES_MAPTILER_LIGHT_MAPID: String? = null