使用Firebase身份验证反应原生

时间:2015-07-09 14:31:01

标签: firebase react-native

我知道using Twitter/Facebook Firebase authentication with React Native会引发错误,因为很明显,这不是开启新的身份验证窗口的正确环境。此外,电子邮件/密码验证也应该失败,因为它依赖于React Native不支持的LocalStorage。是在React Native中实现任何类型的Firebase身份验证以创建Swift / ObjC桥接的最佳方法,然后真的只使用Swift / ObjC Firebase身份验证库吗?如果是这样,有没有人有这样做的例子?

1 个答案:

答案 0 :(得分:16)

更新:从Firebase 3.x开始,Firebase身份验证会在React Native应用中正确保留用户。

啊,我没有意识到React Native没有填充localforage。因此,如果我理解您的问题,使用Firebase的电子邮件/密码验证可以在React Native中正常工作,除非它不会在应用启动时保留,因此用户每次都必须登录。

一种可能的解决方案是自己手动持久化身份验证令牌。类似的东西:

  1. 像往常一样调用authWithPassword(...)。
  2. 在onComplete处理程序中,检索authData.authToken并将其存储在本地(例如,使用AsyncStorage)。
  3. 在下一个应用程序启动时,从存储中检索身份验证令牌并调用authWithCustomToken(authToken,...)。
  4. 我们会考虑让Firebase自动执行此操作,但这样做有点棘手,除了反应之外不会影响Firebase的其他消费者。我已将此添加到我们的内部错误数据库中,我们将看到我们可以提出的内容。当我们有解决方案时,我们会更新这个答案。谢谢!