Automatically sign out when toggling the SSS feature flag. (#3071)

This commit is contained in:
Doug
2024-07-23 11:55:51 +01:00
committed by GitHub
parent 9879552b46
commit bf22250b45
14 changed files with 43 additions and 14 deletions
@@ -141,13 +141,12 @@ class AuthenticationService: AuthenticationServiceProtocol {
private func makeClientBuilder() -> ClientBuilder {
ClientBuilder
.baseBuilder(httpProxy: appSettings.websiteURL.globalProxy,
slidingSync: appSettings.simplifiedSlidingSyncEnabled ? .simplified : .discovered,
slidingSyncProxy: appSettings.slidingSyncProxyURL,
sessionDelegate: userSessionStore.clientSessionDelegate,
simplifiedSlidingSyncEnabled: appSettings.simplifiedSlidingSyncEnabled,
appHooks: appHooks)
.sessionPath(path: sessionDirectory.path(percentEncoded: false))
.passphrase(passphrase: passphrase)
.requiresSlidingSync()
}
private func userSession(for client: Client) async -> Result<UserSessionProtocol, AuthenticationServiceError> {
@@ -59,13 +59,12 @@ final class QRCodeLoginService: QRCodeLoginServiceProtocol {
do {
let client = try await ClientBuilder
.baseBuilder(httpProxy: appSettings.websiteURL.globalProxy,
slidingSync: appSettings.simplifiedSlidingSyncEnabled ? .simplified : .discovered,
slidingSyncProxy: appSettings.slidingSyncProxyURL,
sessionDelegate: userSessionStore.clientSessionDelegate,
simplifiedSlidingSyncEnabled: appSettings.simplifiedSlidingSyncEnabled,
appHooks: appHooks)
.sessionPath(path: sessionDirectory.path(percentEncoded: false))
.passphrase(passphrase: passphrase)
.requiresSlidingSync()
.buildWithQrCode(qrCodeData: qrData, oidcConfiguration: appSettings.oidcConfiguration.rustValue, progressListener: listener)
return await login(client: client)
} catch let error as HumanQrLoginError {
@@ -124,8 +124,8 @@ class UserSessionStore: UserSessionStoreProtocol {
let builder = ClientBuilder
.baseBuilder(httpProxy: URL(string: homeserverURL)?.globalProxy,
slidingSync: appSettings.simplifiedSlidingSyncEnabled ? .simplified : .restored,
sessionDelegate: keychainController,
simplifiedSlidingSyncEnabled: appSettings.simplifiedSlidingSyncEnabled,
appHooks: appHooks)
.sessionPath(path: credentials.restorationToken.sessionDirectory.path(percentEncoded: false))
.username(username: credentials.userID)