2

https://firebase.google.com/docs/auth/web/auth-state-persistence当前的环境不支持指定的持久性类型

The default for web browser and React Native apps is local (provided the browser supports this storage mechanism, eg. 3rd party cookies/data are enabled) whereas it is none for Node.js backend apps.

当我尝试在我的阵营原生Android应用程序如下:

const signIn =() => 
    firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL).then(() => { 
    return firebase.auth().signInAnonymously(); 
    }); 

我收到以下错误:

The current environment does not support the specified persistence type. 

这是一个错误还是我错过了文档中的某些东西?

环境:

"dependencies": { 
    "firebase": "^4.5.0", 
    "react": "16.0.0-alpha.12", 
    "react-native": "^0.48.4", 
    } 

Android 7.0 
+0

嘿Prashanth,这是在4.2.0发布:https://firebase.google.com/support/release-notes/js#4.2.0你可以尝试降级到该版本,看看这是一个回归? – bojeil

+0

降级到4.2.0并未解决问题。添加'firebase.default.INTERNAL.extendNamespace({ INTERNAL:{ reactNative:{ AsyncStorage:AsyncStorage }} });'前右侧设置持久性使错误消失,虽然AUTH仍不之间仍然存在应用程序重新启动(每次不同的user.uid)。 –

+0

我找到了根本原因。我使用的是选择性导入,即'import * from'firebase/app' import'firebase/auth''。切换到从'firebase''导入Firebase解决了这个问题。 –

回答

1

似乎有选择性地引进火力模块的错误。
改变从

import * as firebase from 'firebase/app'; 
import 'firebase/auth'; 

的进口

import firebase from 'firebase'; 

解决的问题。

+0

我的工作 – roiekoper

+0

我建议通过在firebase-js-sdk repo中创建一个问题来跟进:https://github.com/firebase/firebase-js-sdk/issues。让其他人知道什么对你有用,或者如果你找到更好的解决方案。 –

+1

@roiekoper我在4.5.1中遇到了这个问题(已经在'firebase'中导入firebase')并升级到4.6.0,为我解决了这个问题 – Tony

相关问题