mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-28 22:18:46 +03:00
Merge pull request #6095 from vector-im/michaelk/correct_well_known_behaviour
Well known lookups should be to port 443 only.
This commit is contained in:
commit
5260e729ac
15 changed files with 34 additions and 29 deletions
1
changelog.d/6095.bugfix
Normal file
1
changelog.d/6095.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Correct .well-known/matrix/client handling for server_names which include ports.
|
|
@ -177,7 +177,7 @@ object MatrixPatterns {
|
||||||
* - "@alice:domain.org".getDomain() will return "domain.org"
|
* - "@alice:domain.org".getDomain() will return "domain.org"
|
||||||
* - "@bob:domain.org:3455".getDomain() will return "domain.org:3455"
|
* - "@bob:domain.org:3455".getDomain() will return "domain.org:3455"
|
||||||
*/
|
*/
|
||||||
fun String.getDomain(): String {
|
fun String.getServerName(): String {
|
||||||
if (BuildConfig.DEBUG && !isUserId(this)) {
|
if (BuildConfig.DEBUG && !isUserId(this)) {
|
||||||
// They are some invalid userId localpart in the wild, but the domain part should be there anyway
|
// They are some invalid userId localpart in the wild, but the domain part should be there anyway
|
||||||
Timber.w("Not a valid user ID: $this")
|
Timber.w("Not a valid user ID: $this")
|
||||||
|
|
|
@ -20,7 +20,7 @@ import android.net.Uri
|
||||||
import dagger.Lazy
|
import dagger.Lazy
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns
|
import org.matrix.android.sdk.api.MatrixPatterns
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.auth.data.Credentials
|
import org.matrix.android.sdk.api.auth.data.Credentials
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
|
@ -381,7 +381,7 @@ internal class DefaultAuthenticationService @Inject constructor(
|
||||||
|
|
||||||
return getWellknownTask.execute(
|
return getWellknownTask.execute(
|
||||||
GetWellknownTask.Params(
|
GetWellknownTask.Params(
|
||||||
domain = matrixId.getDomain(),
|
domain = matrixId.getServerName().substringBeforeLast(":"),
|
||||||
homeServerConnectionConfig = homeServerConnectionConfig.orWellKnownDefaults()
|
homeServerConnectionConfig = homeServerConnectionConfig.orWellKnownDefaults()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package org.matrix.android.sdk.internal.session.homeserver
|
package org.matrix.android.sdk.internal.session.homeserver
|
||||||
|
|
||||||
import com.zhuinden.monarchy.Monarchy
|
import com.zhuinden.monarchy.Monarchy
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
|
@ -93,10 +93,14 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor(
|
||||||
}
|
}
|
||||||
}.getOrNull()
|
}.getOrNull()
|
||||||
|
|
||||||
|
// Domain may include a port (eg, matrix.org:8080)
|
||||||
|
// Per https://spec.matrix.org/latest/client-server-api/#well-known-uri we should extract the hostname from the server name
|
||||||
|
// So we take everything before the last : as the domain for the well-known task.
|
||||||
|
// NB: This is not always the same endpoint as capabilities / mediaConfig uses.
|
||||||
val wellknownResult = runCatching {
|
val wellknownResult = runCatching {
|
||||||
getWellknownTask.execute(
|
getWellknownTask.execute(
|
||||||
GetWellknownTask.Params(
|
GetWellknownTask.Params(
|
||||||
domain = userId.getDomain(),
|
domain = userId.getServerName().substringBeforeLast(":"),
|
||||||
homeServerConnectionConfig = homeServerConnectionConfig
|
homeServerConnectionConfig = homeServerConnectionConfig
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
package org.matrix.android.sdk.internal.session.permalinks
|
package org.matrix.android.sdk.internal.session.permalinks
|
||||||
|
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.query.QueryStringValue
|
import org.matrix.android.sdk.api.query.QueryStringValue
|
||||||
import org.matrix.android.sdk.api.session.events.model.EventType
|
import org.matrix.android.sdk.api.session.events.model.EventType
|
||||||
import org.matrix.android.sdk.api.session.events.model.toModel
|
import org.matrix.android.sdk.api.session.events.model.toModel
|
||||||
|
@ -55,9 +55,9 @@ internal class ViaParameterFinder @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun computeViaParams(userId: String, roomId: String, max: Int): List<String> {
|
fun computeViaParams(userId: String, roomId: String, max: Int): List<String> {
|
||||||
val userHomeserver = userId.getDomain()
|
val userHomeserver = userId.getServerName()
|
||||||
return getUserIdsOfJoinedMembers(roomId)
|
return getUserIdsOfJoinedMembers(roomId)
|
||||||
.map { it.getDomain() }
|
.map { it.getServerName() }
|
||||||
.groupBy { it }
|
.groupBy { it }
|
||||||
.mapValues { it.value.size }
|
.mapValues { it.value.size }
|
||||||
.toMutableMap()
|
.toMutableMap()
|
||||||
|
@ -92,7 +92,7 @@ internal class ViaParameterFinder @Inject constructor(
|
||||||
.orEmpty()
|
.orEmpty()
|
||||||
.toSet()
|
.toSet()
|
||||||
|
|
||||||
return userThatCanInvite.map { it.getDomain() }
|
return userThatCanInvite.map { it.getServerName() }
|
||||||
.groupBy { it }
|
.groupBy { it }
|
||||||
.mapValues { it.value.size }
|
.mapValues { it.value.size }
|
||||||
.toMutableMap()
|
.toMutableMap()
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
package org.matrix.android.sdk.internal.session.room.alias
|
package org.matrix.android.sdk.internal.session.room.alias
|
||||||
|
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.failure.Failure
|
import org.matrix.android.sdk.api.failure.Failure
|
||||||
import org.matrix.android.sdk.api.session.room.alias.RoomAliasError
|
import org.matrix.android.sdk.api.session.room.alias.RoomAliasError
|
||||||
import org.matrix.android.sdk.internal.di.UserId
|
import org.matrix.android.sdk.internal.di.UserId
|
||||||
|
@ -65,6 +65,6 @@ internal class RoomAliasAvailabilityChecker @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
internal fun String.toFullLocalAlias(userId: String) = "#" + this + ":" + userId.getDomain()
|
internal fun String.toFullLocalAlias(userId: String) = "#" + this + ":" + userId.getServerName()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ import im.vector.app.core.resources.StringProvider
|
||||||
import im.vector.app.core.utils.ensureTrailingSlash
|
import im.vector.app.core.utils.ensureTrailingSlash
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
|
@ -607,7 +607,7 @@ class LoginViewModel @AssistedInject constructor(
|
||||||
identityServerUri = wellKnownPrompt.identityServerUrl?.let { Uri.parse(it) }
|
identityServerUri = wellKnownPrompt.identityServerUrl?.let { Uri.parse(it) }
|
||||||
)
|
)
|
||||||
?: HomeServerConnectionConfig(
|
?: HomeServerConnectionConfig(
|
||||||
homeServerUri = Uri.parse("https://${action.username.getDomain()}"),
|
homeServerUri = Uri.parse("https://${action.username.getServerName()}"),
|
||||||
homeServerUriBase = Uri.parse(wellKnownPrompt.homeServerUrl),
|
homeServerUriBase = Uri.parse(wellKnownPrompt.homeServerUrl),
|
||||||
identityServerUri = wellKnownPrompt.identityServerUrl?.let { Uri.parse(it) }
|
identityServerUri = wellKnownPrompt.identityServerUrl?.let { Uri.parse(it) }
|
||||||
)
|
)
|
||||||
|
|
|
@ -38,7 +38,7 @@ import im.vector.app.features.login.LoginMode
|
||||||
import im.vector.app.features.login.ReAuthHelper
|
import im.vector.app.features.login.ReAuthHelper
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
import org.matrix.android.sdk.api.auth.HomeServerHistoryService
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
|
@ -640,7 +640,7 @@ class LoginViewModel2 @AssistedInject constructor(
|
||||||
}
|
}
|
||||||
viewEvent?.let { _viewEvents.post(it) }
|
viewEvent?.let { _viewEvents.post(it) }
|
||||||
|
|
||||||
val urlFromUser = action.username.getDomain()
|
val urlFromUser = action.username.getServerName()
|
||||||
setState {
|
setState {
|
||||||
copy(
|
copy(
|
||||||
isLoading = false,
|
isLoading = false,
|
||||||
|
|
|
@ -20,7 +20,7 @@ import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.andThen
|
import im.vector.app.core.extensions.andThen
|
||||||
import im.vector.app.core.resources.StringProvider
|
import im.vector.app.core.resources.StringProvider
|
||||||
import im.vector.app.features.onboarding.OnboardingAction.LoginOrRegister
|
import im.vector.app.features.onboarding.OnboardingAction.LoginOrRegister
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.AuthenticationService
|
import org.matrix.android.sdk.api.auth.AuthenticationService
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
||||||
|
@ -75,7 +75,7 @@ class DirectLoginUseCase @Inject constructor(
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun fallbackConfig(action: LoginOrRegister, wellKnownPrompt: WellknownResult.Prompt) = HomeServerConnectionConfig(
|
private fun fallbackConfig(action: LoginOrRegister, wellKnownPrompt: WellknownResult.Prompt) = HomeServerConnectionConfig(
|
||||||
homeServerUri = uriFactory.parse("https://${action.username.getDomain()}"),
|
homeServerUri = uriFactory.parse("https://${action.username.getServerName()}"),
|
||||||
homeServerUriBase = uriFactory.parse(wellKnownPrompt.homeServerUrl),
|
homeServerUriBase = uriFactory.parse(wellKnownPrompt.homeServerUrl),
|
||||||
identityServerUri = wellKnownPrompt.identityServerUrl?.let { uriFactory.parse(it) }
|
identityServerUri = wellKnownPrompt.identityServerUrl?.let { uriFactory.parse(it) }
|
||||||
)
|
)
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
|
|
||||||
package im.vector.app.features.raw.wellknown
|
package im.vector.app.features.raw.wellknown
|
||||||
|
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.data.SessionParams
|
import org.matrix.android.sdk.api.auth.data.SessionParams
|
||||||
import org.matrix.android.sdk.api.extensions.tryOrNull
|
import org.matrix.android.sdk.api.extensions.tryOrNull
|
||||||
import org.matrix.android.sdk.api.raw.RawService
|
import org.matrix.android.sdk.api.raw.RawService
|
||||||
|
|
||||||
suspend fun RawService.getElementWellknown(sessionParams: SessionParams): ElementWellKnown? {
|
suspend fun RawService.getElementWellknown(sessionParams: SessionParams): ElementWellKnown? {
|
||||||
// By default we use the domain of the userId to retrieve the .well-known data
|
// By default we use the domain of the userId to retrieve the .well-known data
|
||||||
val domain = sessionParams.userId.getDomain()
|
val domain = sessionParams.userId.getServerName()
|
||||||
return tryOrNull { getWellknown(domain) }
|
return tryOrNull { getWellknown(domain) }
|
||||||
?.let { ElementWellKnownMapper.from(it) }
|
?.let { ElementWellKnownMapper.from(it) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ import im.vector.app.features.raw.wellknown.getElementWellknown
|
||||||
import im.vector.app.features.raw.wellknown.isE2EByDefault
|
import im.vector.app.features.raw.wellknown.isE2EByDefault
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
import org.matrix.android.sdk.api.extensions.tryOrNull
|
import org.matrix.android.sdk.api.extensions.tryOrNull
|
||||||
import org.matrix.android.sdk.api.raw.RawService
|
import org.matrix.android.sdk.api.raw.RawService
|
||||||
|
@ -98,7 +98,7 @@ class CreateRoomViewModel @AssistedInject constructor(
|
||||||
private fun initHomeServerName() {
|
private fun initHomeServerName() {
|
||||||
setState {
|
setState {
|
||||||
copy(
|
copy(
|
||||||
homeServerName = session.myUserId.getDomain()
|
homeServerName = session.myUserId.getServerName()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ import im.vector.app.R
|
||||||
import im.vector.app.core.resources.StringArrayProvider
|
import im.vector.app.core.resources.StringArrayProvider
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryServer
|
import im.vector.app.features.roomdirectory.RoomDirectoryServer
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.room.model.thirdparty.ThirdPartyProtocol
|
import org.matrix.android.sdk.api.session.room.model.thirdparty.ThirdPartyProtocol
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
@ -37,7 +37,7 @@ class RoomDirectoryListCreator @Inject constructor(
|
||||||
val protocols = ArrayList<RoomDirectoryData>()
|
val protocols = ArrayList<RoomDirectoryData>()
|
||||||
|
|
||||||
// Add user homeserver name
|
// Add user homeserver name
|
||||||
val userHsName = session.myUserId.getDomain()
|
val userHsName = session.myUserId.getServerName()
|
||||||
|
|
||||||
// Add default protocol
|
// Add default protocol
|
||||||
protocols.add(
|
protocols.add(
|
||||||
|
|
|
@ -31,7 +31,7 @@ import im.vector.app.features.powerlevel.PowerLevelsFlowFactory
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.query.QueryStringValue
|
import org.matrix.android.sdk.api.query.QueryStringValue
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.events.model.EventType
|
import org.matrix.android.sdk.api.session.events.model.EventType
|
||||||
|
@ -96,7 +96,7 @@ class RoomAliasViewModel @AssistedInject constructor(@Assisted initialState: Roo
|
||||||
private fun initHomeServerName() {
|
private fun initHomeServerName() {
|
||||||
setState {
|
setState {
|
||||||
copy(
|
copy(
|
||||||
homeServerName = session.myUserId.getDomain()
|
homeServerName = session.myUserId.getServerName()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ import im.vector.app.core.resources.StringProvider
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns
|
import org.matrix.android.sdk.api.MatrixPatterns
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.identity.IdentityServiceListener
|
import org.matrix.android.sdk.api.session.identity.IdentityServiceListener
|
||||||
import org.matrix.android.sdk.api.session.room.AliasAvailabilityResult
|
import org.matrix.android.sdk.api.session.room.AliasAvailabilityResult
|
||||||
|
@ -66,7 +66,7 @@ class CreateSpaceViewModel @AssistedInject constructor(
|
||||||
val identityServerUrl = identityService.getCurrentIdentityServerUrl()
|
val identityServerUrl = identityService.getCurrentIdentityServerUrl()
|
||||||
setState {
|
setState {
|
||||||
copy(
|
copy(
|
||||||
homeServerName = session.myUserId.getDomain(),
|
homeServerName = session.myUserId.getServerName(),
|
||||||
canInviteByMail = identityServerUrl != null
|
canInviteByMail = identityServerUrl != null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import kotlinx.coroutines.test.runTest
|
||||||
import org.amshove.kluent.should
|
import org.amshove.kluent.should
|
||||||
import org.amshove.kluent.shouldBeEqualTo
|
import org.amshove.kluent.shouldBeEqualTo
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.matrix.android.sdk.api.MatrixPatterns.getDomain
|
import org.matrix.android.sdk.api.MatrixPatterns.getServerName
|
||||||
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
import org.matrix.android.sdk.api.auth.data.HomeServerConnectionConfig
|
||||||
import org.matrix.android.sdk.api.auth.data.WellKnown
|
import org.matrix.android.sdk.api.auth.data.WellKnown
|
||||||
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
import org.matrix.android.sdk.api.auth.wellknown.WellknownResult
|
||||||
|
@ -38,7 +38,7 @@ private val A_WELLKNOWN_FAILED_WITH_CONTENT_RESULT = WellknownResult.FailPrompt(
|
||||||
private val A_WELLKNOWN_FAILED_WITHOUT_CONTENT_RESULT = WellknownResult.FailPrompt(null, null)
|
private val A_WELLKNOWN_FAILED_WITHOUT_CONTENT_RESULT = WellknownResult.FailPrompt(null, null)
|
||||||
private val NO_HOMESERVER_CONFIG: HomeServerConnectionConfig? = null
|
private val NO_HOMESERVER_CONFIG: HomeServerConnectionConfig? = null
|
||||||
private val A_FALLBACK_CONFIG: HomeServerConnectionConfig = HomeServerConnectionConfig(
|
private val A_FALLBACK_CONFIG: HomeServerConnectionConfig = HomeServerConnectionConfig(
|
||||||
homeServerUri = FakeUri("https://${A_LOGIN_OR_REGISTER_ACTION.username.getDomain()}").instance,
|
homeServerUri = FakeUri("https://${A_LOGIN_OR_REGISTER_ACTION.username.getServerName()}").instance,
|
||||||
homeServerUriBase = FakeUri(A_WELLKNOWN_SUCCESS_RESULT.homeServerUrl).instance,
|
homeServerUriBase = FakeUri(A_WELLKNOWN_SUCCESS_RESULT.homeServerUrl).instance,
|
||||||
identityServerUri = null
|
identityServerUri = null
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue