Use correct URL for SSO connection (#1178)
This commit is contained in:
parent
51eb2cda95
commit
8daf72a4b0
|
@ -43,6 +43,7 @@ Bugfix 🐛:
|
||||||
- RiotX now uses as many threads as it needs to do work and send messages (#1221)
|
- RiotX now uses as many threads as it needs to do work and send messages (#1221)
|
||||||
- Fix issue with media path (#1227)
|
- Fix issue with media path (#1227)
|
||||||
- Add user to direct chat by user id (#1065)
|
- Add user to direct chat by user id (#1065)
|
||||||
|
- Use correct URL for SSO connection (#1178)
|
||||||
|
|
||||||
Translations 🗣:
|
Translations 🗣:
|
||||||
-
|
-
|
||||||
|
|
|
@ -27,3 +27,11 @@ const val LOGIN_FALLBACK_PATH = "/_matrix/static/client/login/"
|
||||||
* Not documented
|
* Not documented
|
||||||
*/
|
*/
|
||||||
const val REGISTER_FALLBACK_PATH = "/_matrix/static/client/register/"
|
const val REGISTER_FALLBACK_PATH = "/_matrix/static/client/register/"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Path to use when the client want to connect using SSO
|
||||||
|
* Ref: https://matrix.org/docs/spec/client_server/latest#sso-client-login
|
||||||
|
*/
|
||||||
|
const val SSO_FALLBACK_PATH = "/_matrix/client/r0/login/sso/redirect"
|
||||||
|
|
||||||
|
const val SSO_REDIRECT_URL_PARAM = "redirectUrl"
|
||||||
|
|
|
@ -33,9 +33,12 @@ import androidx.appcompat.app.AlertDialog
|
||||||
import com.airbnb.mvrx.activityViewModel
|
import com.airbnb.mvrx.activityViewModel
|
||||||
import im.vector.matrix.android.api.auth.LOGIN_FALLBACK_PATH
|
import im.vector.matrix.android.api.auth.LOGIN_FALLBACK_PATH
|
||||||
import im.vector.matrix.android.api.auth.REGISTER_FALLBACK_PATH
|
import im.vector.matrix.android.api.auth.REGISTER_FALLBACK_PATH
|
||||||
|
import im.vector.matrix.android.api.auth.SSO_FALLBACK_PATH
|
||||||
|
import im.vector.matrix.android.api.auth.SSO_REDIRECT_URL_PARAM
|
||||||
import im.vector.matrix.android.api.auth.data.Credentials
|
import im.vector.matrix.android.api.auth.data.Credentials
|
||||||
import im.vector.matrix.android.internal.di.MoshiProvider
|
import im.vector.matrix.android.internal.di.MoshiProvider
|
||||||
import im.vector.riotx.R
|
import im.vector.riotx.R
|
||||||
|
import im.vector.riotx.core.extensions.appendParamToUrl
|
||||||
import im.vector.riotx.core.utils.AssetReader
|
import im.vector.riotx.core.utils.AssetReader
|
||||||
import im.vector.riotx.features.signout.soft.SoftLogoutAction
|
import im.vector.riotx.features.signout.soft.SoftLogoutAction
|
||||||
import im.vector.riotx.features.signout.soft.SoftLogoutViewModel
|
import im.vector.riotx.features.signout.soft.SoftLogoutViewModel
|
||||||
|
@ -125,10 +128,20 @@ class LoginWebFragment @Inject constructor(
|
||||||
val url = buildString {
|
val url = buildString {
|
||||||
append(state.homeServerUrl?.trim { it == '/' })
|
append(state.homeServerUrl?.trim { it == '/' })
|
||||||
if (state.signMode == SignMode.SignIn) {
|
if (state.signMode == SignMode.SignIn) {
|
||||||
append(LOGIN_FALLBACK_PATH)
|
if (state.loginMode == LoginMode.Sso) {
|
||||||
|
append(SSO_FALLBACK_PATH)
|
||||||
|
// We do not want to deal with the result, so let the fallback login page to handle it for us
|
||||||
|
appendParamToUrl(SSO_REDIRECT_URL_PARAM,
|
||||||
|
buildString {
|
||||||
|
append(state.homeServerUrl?.trim { it == '/' })
|
||||||
|
append(LOGIN_FALLBACK_PATH)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
append(LOGIN_FALLBACK_PATH)
|
||||||
|
}
|
||||||
state.deviceId?.takeIf { it.isNotBlank() }?.let {
|
state.deviceId?.takeIf { it.isNotBlank() }?.let {
|
||||||
// But https://github.com/matrix-org/synapse/issues/5755
|
// But https://github.com/matrix-org/synapse/issues/5755
|
||||||
append("?device_id=$it")
|
appendParamToUrl("device_id", it)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// MODE_REGISTER
|
// MODE_REGISTER
|
||||||
|
|
Loading…
Reference in New Issue