Swift 和 Touch ID 与 Firebase

Rub*_*444 4 firebase touch-id swift firebase-authentication

我有兴趣将 Touch ID 选项添加到我的应用程序中。我找到了很多关于如何实现它以及如何处理错误的 SO 帖子和其他文章。我的问题是,如果用户登录,然后转到首选项 VC 并(如果设备支持)启用 Touch ID....我如何从 Firebase 检索用户的电子邮件和密码...或存储它?

我可能是错的,但我无法想象 Firebase 会允许我提取用户的密码。那么,我是否只是将 VC 中的登录密码存储在一个常量中并将其从 VC 传递到 VC,以防万一用户想要启用 Touch ID?

这似乎也不是一个很好的选择..

编辑

我想澄清我的问题。

最初在我的应用程序中,用户使用 Firebase 使用电子邮件和密码登录到应用程序。稍后,如果用户想要,他/她可以启用 Touch ID,因此无需键入 johnSmith@email.com 和 abc123,它就知道该手机上的用户是 johnSmith@email.com,密码是 abc123。

我的问题是:如何检索该用户的电子邮件和密码?我的数据库中没有包含电子邮件列表的孩子,也没有密码列表。

我唯一能想到的获得用户的是以下内容

 let user = FIRAuth.auth()?.currentUser
Run Code Online (Sandbox Code Playgroud)

但这足以让 Touch ID 登录吗?那只是一个随机字符串,而不是他/她的电子邮件

以及如何获取密码?

Sim*_*mon 5

只要 Firebase 不支持 TouchId,您就必须自己管理用户名和密码组合。当他/她启用 Touch Id 并自己存储用户名/密码时,您将不得不向用户询问一次用户名和密码。

存储敏感信息的方法是使用钥匙串,这里有一个来自 Apple 的示例项目,说明如何做到这一点。

下次用户登录通过 Touch Id 确认时,您从钥匙串中提取用户名/密码并验证用户身份。