#40: Use the Rust AuthenticationService.

* Update SDK package to 1.0.12-alpha.
* Use an app group for storage and stop stripping the http from the homeserver when configuring the service.
* Rename access token to restore token.
* Remove matrix.org server description inline with latest FTUE changes.
This commit is contained in:
Doug
2022-07-27 10:57:16 +01:00
committed by GitHub
parent 03d6097c72
commit 1878a16496
29 changed files with 284 additions and 204 deletions
@@ -16,42 +16,42 @@ class KeychainController: KeychainControllerProtocol {
keychain = Keychain(service: identifier)
}
func setAccessToken(_ accessToken: String, forUsername username: String) {
func setRestoreToken(_ restoreToken: String, forUsername username: String) {
do {
try keychain.set(accessToken, key: username)
try keychain.set(restoreToken, key: username)
} catch {
MXLog.error("Failed storing user access token with error: \(error)")
MXLog.error("Failed storing user restore token with error: \(error)")
}
}
func accessTokenForUsername(_ username: String) -> String? {
func restoreTokenForUsername(_ username: String) -> String? {
do {
return try keychain.get(username)
} catch {
MXLog.error("Failed retrieving user access token")
MXLog.error("Failed retrieving user restore token")
return nil
}
}
func accessTokens() -> [(username: String, accessToken: String)] {
func restoreTokens() -> [KeychainCredentials] {
keychain.allKeys().compactMap { username in
guard let accessToken = accessTokenForUsername(username) else {
guard let restoreToken = restoreTokenForUsername(username) else {
return nil
}
return (username, accessToken)
return KeychainCredentials(userID: username, restoreToken: restoreToken)
}
}
func removeAccessTokenForUsername(_ username: String) {
func removeRestoreTokenForUsername(_ username: String) {
do {
try keychain.remove(username)
} catch {
MXLog.error("Failed removing access token with error: \(error)")
MXLog.error("Failed removing restore token with error: \(error)")
}
}
func removeAllAccessTokens() {
func removeAllRestoreTokens() {
do {
try keychain.removeAll()
} catch {