Show fallback on authentication coordinator

This commit is contained in:
ismailgulek
2022-05-27 17:49:54 +03:00
parent 43468ce5ea
commit 61baafc56f
3 changed files with 102 additions and 24 deletions
@@ -138,9 +138,7 @@ class AuthenticationService: NSObject {
loginWizard = nil
registrationWizard = nil
// The previously used homeserver is re-used as `startFlow` will be called again a replace it anyway.
let address = state.homeserver.addressFromUser ?? state.homeserver.address
self.state = AuthenticationState(flow: .login, homeserverAddress: address)
self.state = AuthenticationState(flow: .login, homeserverAddress: state.homeserver.address)
}
/// Continues an SSO flow when completion comes via a deep link.
@@ -66,5 +66,24 @@ struct AuthenticationState {
showRegistrationForm: registrationFlow != nil,
ssoIdentityProviders: preferredLoginMode.ssoIdentityProviders ?? [])
}
/// Needs authentication fallback for login or registration
var needsFallback: Bool {
switch preferredLoginMode {
case .unsupported:
return true
default:
break
}
guard let flow = registrationFlow else {
return false
}
switch flow {
case .flowResponse(let result):
return result.needsFallback
default:
return false
}
}
}
}