我正在创建节点cli,并在其中使用firebase auth
一切正常
有一个登录命令,当用户执行时,它要求提供凭据。提交后,我从api获取了自定义身份验证令牌,然后使用signinwithcustomtoken并得到了“ currentUser”的值。
根据此页面Access Firebase in your app,我可以在node.js应用中使用Firebase客户端SDK进行身份验证
问题
但是就像我执行另一个命令来显示配置文件数据一样,当我尝试访问firebase.auth().currentUser
时它返回null:(
我不创建任何类型的服务器。
我认为Firebase每次运行命令都会重新创建一个新实例 但是为什么不按角度对基松散实例?
答案 0 :(得分:0)
在Node.js部署中,出于安全原因,默认Auth state persistence模式为firebase.auth.Auth.Persistence.NONE
,如Modifying the ASP部分底部所述。这意味着每当您关闭脚本时,都会清除用户状态。
在使用身份验证令牌登录之前,您将需要使用以下代码来更改与浏览器匹配的模式:
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL) // <-- this bit
.then(function() {
// Users will now be logged in until they explicitly log out
return firebase.auth().signInWithCustomToken(token);
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});