LoginProvider.swift 598 B

1234567891011121314151617181920
  1. import AuthenticationServices
  2. extension Login {
  3. final class Provider: BaseProvider, LoginProvider {
  4. @Injected() private var keychain: Keychain!
  5. func authorize(credentials: Credentials) {
  6. authorizationManager.authorize(credentials: credentials)
  7. .sink { _ in
  8. self.keychain.setValue(credentials, forKey: Config.credentialsKey)
  9. }
  10. .store(in: &lifetime)
  11. }
  12. var credentials: Credentials? {
  13. keychain.getValue(Credentials.self, forKey: Config.credentialsKey)
  14. }
  15. }
  16. }