gpt4 book ai didi

javascript - Firebase getToken() 类型错误 : Cannot read property

转载 作者:可可西里 更新时间:2023-11-01 01:57:07 25 4
gpt4 key购买 nike

我正在尝试获取我网站当前登录用户的 token 。但是,javascript 无法为我获取值。我认为这里有两个问题:

  1. 当我开始获取 Auth.currentUser 时,出现“TypeError:无法读取 null 属性‘getToken’”的错误。但是,当我在控制台中键入 Auth.currentUser.getToken() 时,实际上会显示带有 token 的对象。

  2. getToken() 返回给我的是一个 promise 对象,其键“ea”包含 token 的值。但是当我执行 Auth.currentUser.getToken().ea 时,它让我变得“空”。如何直接从对象中检索 token ?

谢谢!

我获取 token 的代码:

var Auth = firebase.auth()
var token = Auth.currentUser.getToken()

此屏幕截图可能会有所帮助: Chrome console result

最佳答案

根据documentation of firebase.User:getIdToken() :

Returns a JWT token used to identify the user to a Firebase service.

Returns the current token if it has not expired, otherwise this will refresh the token and return a new one.

该方法返回一个 promise ,因为它可能需要往返 Firebase 服务器以防 token 过期:

Auth.currentUser.getIdToken().then(data => console.log(data))

或者在更经典的 JavaScript 中:

Auth.currentUser.getIdToken().then(function(data) {
console.log(data)
});

日志输出:

ey...biPA

更新:为确保用户在获取 token 之前已登录,请在 onAuthStateChanged listener 中运行上述代码:

firebase.auth().onAuthStateChanged(function(user) {
if (user) {
user.getIdToken().then(function(data) {
console.log(data)
});
}
});

关于javascript - Firebase getToken() 类型错误 : Cannot read property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com