ios - 无密码电子邮件身份验证
问题描述
我已经完成了无密码电子邮件身份验证。我得到了链接。现在当我重定向到我的应用程序时。我需要将用户更新为 Firebase 身份验证。如果它的成功允许他们进入我的应用程序。同时需要获取当前登录的用户标识。
这是使用的代码:
逻辑是:
- 考虑我是使用电子邮件登录的新用户
- 考虑一下我已经使用我的 gmail 帐户登录。并且还已经向 Firebase 进行了身份验证。如果我使用相同的电子邮件地址。我会得到一些错误。
我期待:
如果我是新登录(之前没有使用我的电子邮件 ID 登录或验证),我需要对 firebase 进行身份验证并获取当前用户 ID。并且需要进入应用程序。
如果我已经使用我的 gmail 帐户登录。如果我再次使用我的密码登录,则更少验证相同的电子邮件。然后我还需要能够使用 firebase 进行身份验证并在我的应用程序中登录。并获取当前的用户 ID。
我怎样才能做到这一点。
我的编解码器:
函数验证链接用户(){
let emailId = UserDefaults.standard.object(forKey: "Email") as! String
let link = UserDefaults.standard.value(forKey: "Link") as? String ?? "NA"
print("Url link")
print(link)
Auth.auth().signIn(withEmail: emailId, link: link) { (result, error) in
if (error == nil && result != nil) {
if( Auth.auth().currentUser?.isEmailVerified)! {
print("user verified")
}else {
print("user not verified")
}
} else {
print(error?.localizedDescription)
}
}
}
错误:
"The action code is invalid. This can happen if the code is malformed, expired, or has already been used."
我跟着这里:
https://medium.com/@huzaifa.ameen229/firebase-email-link-authentication-ac2504068562
解决方案
推荐阅读
- mongodb - 从 db.serverStatus 输出计算 WiredTiger 缓存未命中
- javascript - 范围输入控制两个不同的字段
- javascript - 如果另一个元素包含特定文本,请单击一个元素。使用量角器进行自动化测试
- php - 如何将带有翻译的记录添加到夹具 symfony
- flutter - Flutter:如何模块化底部导航栏
- vue.js - 输入字段值不断重置@input?
- django - 从带有 400 错误请求的 ajax 错误将数据发布到 DjangoRestFramework api
- c# - 在数据库中移动磁贴/文本框存储位置
- linux - 在 /usr/bin 中创建自定义命令不起作用
- python - 如何为 Django Tables2 使用 Django __str__() 方法