When I want to log in on MacOS, CredentialsManager stores the credentials in the login keychain. This is a problem, since it results in a scary popup for users. Since CredentialsManager is an Auth0 product aiming to solve our login problems, there should be some way to ensure MacOS 10.15+ users benefit from the kSecUseDataProtectionKeychain, which will never show these scary prompts to our users.
I noticed that SimpleKeychain already supports this attribute, but SimpleKeychain is quite a bit more annoying to implement when all we need is this one attribute set.
Is there a feature coming to CredentialsManager to support kSecUseDataProtectionKeychain?
Actually, I think I may have figured out a workaround until there’s proper support.
let keychain = if #available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, watchOS 6.0, *) {
SimpleKeychain(attributes: [kSecUseDataProtectionKeychain as String: true])
} else {
SimpleKeychain()
}
credentialsManager = CredentialsManager(authentication: Auth0.authentication(
clientId: AUTH0_CLIENT_ID, domain: AUTH0_DOMAIN, session: .shared
), storage: keychain)
Hi @colin.lee,
Welcome to the Auth0 Community!
Thanks for your post and workaround! I have reached out to the SDK team to see if there are any plans for this update, and I will let you know what I hear back.
Thanks,
Mary Beth
Hi @colin.lee,
The team has gotten back to me! We have reference of kSecUseDataProtectionKeychain in SimpleKeychain library. Is the ask to support this in any particular SDK?
Thanks,
Mary Beth