Jor*_*ans 5 ios firebase firebase-authentication
我想使用Firebase Auth进行电子邮件/密码注册。问题是,当使用的电子邮件地址也经过验证时,我只想接受经过身份验证的用户。
通常,我们可以使用侦听器来检查用户何时登录或不再登录:
Auth.auth().addStateDidChangeListener { (auth, user) in
Run Code Online (Sandbox Code Playgroud)
问题是,当用户单击验证电子邮件中的链接时,不会触发此侦听器。创建帐户后才调用它。
在等待用户单击链接时,可以循环执行以下操作:
Auth.auth().currentUser!.reload() {
if !Auth.auth().currentUser!.isEmailVerified {
Run Code Online (Sandbox Code Playgroud)
但是问题是我理想上要管理侦听器回调中的所有身份验证内容,但是当电子邮件验证状态更改时不使用侦听器。
我有什么想念的吗?
我知道在移动设备上您可以使用深层链接,因此邮件中的链接将再次打开该应用程序,但这不是我想要的,因为用户可以在其计算机上打开邮件,因此问题仍然需要解决。
目前,我看到的唯一解决方案是自己发送nsnotification并在我处理所有auth代码的地方进行处理,但感觉有些混乱。
以下是一些选项:
emailVerified用户。emailVerified在该 RTDB 节点中进行更新。user.reload()以更新emailVerified用户并user.getIdToken(true)确保令牌已更新为最新的声明。另一种方法是上述方法的变体,即添加一个continueUrl将在默认电子邮件验证上显示继续按钮的按钮,以重定向到您拥有的页面,您知道用户已通过验证。您还可以使用与上述类似的机制,通过该页面而不是登陆页面上的实时数据库传递状态更改。
| 归档时间: |
|
| 查看次数: |
1441 次 |
| 最近记录: |