使用深层链接(Android)进行Firebase电子邮件验证

时间:2018-01-24 02:54:01

标签: android firebase firebase-authentication deep-linking email-verification

我目前正在通过Android应用程序上的Firebase Auth使用电子邮件身份验证。一切都正确设置。在调用 createUserWithEmailAndPassword 时也是如此。如果成功,我会在Firebase身份验证教程之后使用 ActionCodeSettings 来发送验证邮件。

如果我打开桌面浏览器上收到的电子邮件中的链接,则会成功验证用户的电子邮件(标记 FirebaseUser.isEmailVerified 返回true)

但是我尝试使用深层链接。因此,如果用户点击移动设备上的链接,则会在我有深层链接监听器的应用内重定向。我希望一旦我收到应用程序内的深层链接数据,就会更新标志 isEmailVerified ,但事实并非如此。实际上即使按下链接也可能应该验证,因为验证用户电子邮件的当前方式只是打开一个说明电子邮件已验证的网页。

彻底搜索网络后,我还没有看到任何开发人员尝试实现相同功能的示例,我相信这是一种更好的用户体验,而不是打开浏览器窗口进行验证,然后尝试重定向应用中的用户。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

所以我假设您要进行操作回调登陆网页,用户已经过验证,然后点击,用户将被重定向到Android应用程序。那时你需要:

  • Reload the usercurrentUser.reload()这会更新user.isEmailVerified()返回值以获取最新更改。

  • 用户
  • Force refresh the tokencurrentUser.getIdToken(true)这将更新令牌有效内容中的email_verified字段,以防您在后端或Firebase规则中检查该字段。