我有兴趣在我的应用中添加Touch ID选项。我发现了许多关于如何实现它以及如何处理错误的SO帖子和其他文章。我的问题是,如果用户登录,然后转到首选项VC和(如果设备支持它)启用Touch ID ....如何从Firebase检索用户电子邮件和密码...或存储它?< / p>
我可能错了,但我无法想象Firebase会允许我提取用户的密码。那么,我只是将VC中的日志密码存储在常量中,并将其从VC传递给VC,以防用户想要启用Touch ID吗?
这似乎不是一个很好的选择..
修改
我想澄清一下我的问题。
最初,在我的应用中,用户使用Firebase使用电子邮件和密码登录应用。稍后,如果用户想要他/她可以启用Touch ID,那么它不是键入johnSmith@email.com和abc123,而是在该电话上知道用户是johnSmith@email.com,密码是abc123。
我的问题是:如何检索用户的电子邮件和密码?我的数据库中没有孩子的电子邮件列表,我没有密码列表。
我能想到的唯一能够获得用户的是
let user = FIRAuth.auth()?.currentUser
但这足以让Touch ID登录吗?这只是一个随机字符串而不是他/她的电子邮件
我如何获取密码?
答案 0 :(得分:1)
只要Firebase不支持TouchId,您就必须自己管理用户名和密码组合。当用户启用Touch Id并自行存储用户名/ pw时,您必须向用户询问一次用户名和密码。
存储敏感信息的方法是使用Keychain,here是Apple的示例项目,如何执行此操作。
下次Touch ID确认用户登录时,您从钥匙串中提取用户名/ pw并对用户进行身份验证。