Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Firebase身份验证进行本机响应_Firebase_React Native - Fatal编程技术网

使用Firebase身份验证进行本机响应

使用Firebase身份验证进行本机响应,firebase,react-native,Firebase,React Native,我知道这会抛出一个错误,因为很明显,这不是打开新的auth窗口的正确环境。此外,电子邮件/密码验证也应该失败,因为它依赖于本地存储,而React Native不支持本地存储。在React Native中实现任何类型的Firebase身份验证的最佳方法是创建Swift/ObjC桥,然后真正使用Swift/ObjC Firebase身份验证库吗?如果是这样,有人有这样做的例子吗?更新:从Firebase 3.x开始,Firebase身份验证将正确地将用户保留在React本机应用程序中 啊,我不知道R

我知道这会抛出一个错误,因为很明显,这不是打开新的auth窗口的正确环境。此外,电子邮件/密码验证也应该失败,因为它依赖于本地存储,而React Native不支持本地存储。在React Native中实现任何类型的Firebase身份验证的最佳方法是创建Swift/ObjC桥,然后真正使用Swift/ObjC Firebase身份验证库吗?如果是这样,有人有这样做的例子吗?

更新:从Firebase 3.x开始,Firebase身份验证将正确地将用户保留在React本机应用程序中

啊,我不知道React Native没有多填充本地存储。因此,如果我没有弄错您的问题,Firebase的电子邮件/密码身份验证在React Native中可以正常工作,只是它不会在应用程序启动时保持不变,因此用户每次都必须登录

一种可能的解决方案是自己手动持久化auth令牌。比如:

  • 像往常一样调用authWithPassword(…)
  • 在onComplete处理程序中,检索authData.authToken并将其存储在本地(例如使用)
  • 在下一个应用程序启动时,从存储器中检索auth令牌并调用authWithCustomToken(authToken,…)

  • 我们将研究如何让Firebase自动执行此操作,但在不影响Firebase其他用户的情况下执行此操作有点棘手。我已经把它添加到了我们的内部bug数据库中,我们将看看我们能想出什么。我们将在找到解决方案后更新此答案。谢谢

    天才。谢谢你,迈克尔!我会把我这方面的任何发现发送给大家,同时我也会处理它。有没有关于如何实现这一点的代码片段/演示?例如,我可以使用此链接作为参考,让用户身份验证在web上工作,但如何在react native中工作,而不包括firebase js文件?这已经修复了吗?firebase是否保留用户?抱歉,它尚未修复。您仍然需要手动保留身份验证令牌。是否可以使用react native webview进行社交登录?