如何从 "getFirebase().auth().currentUser.getIdToken() "中获取字符串值。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从 "getFirebase().auth().currentUser.getIdToken() "中获取字符串值。相关的知识,希望对你有一定的参考价值。
我有一个 架构 应用,并且正在使用 火力基地 用于认证。
我有一个 NodesJS bakend服务器,使用 idToken
进行认证。
我正试图发送 idToken
到服务器,使用。
const idToken = getFirebase().auth().currentUser.getIdToken();
在
async function updateDataInDatabase(data, dispatch, getFirebase) {
const idToken = getFirebase().auth().currentUser.getIdToken();
console.log('Todo App: Updating data in database using idToken ', idToken);
console.log('Todo App: Updating data in database using idToken ', idToken.i);
try {
await axios.post(`http://localhost:5000/app/todo/data`, JSON.stringify(data), {
headers: { 'Content-Type': 'application/json', 'firebase-idToken': idToken },
});
} catch (err) {
console.log(err.message);
return err.message;
}
}
但其记录为 undefined
.
第一个 console.log
给了这个。
D {a: 0, i: undefined, c: D, b: null, f: null, …}
a: 2
b: null
c: null
f: null
g: false
h: false
i: "eyJhbGciOiJS[....]yCORe2rP5PDCvmnVBkEzqug4Qrje9DlqwUIASEM7jmBUgOHQLNKWeTpe9Yl2w"
__proto__: Object
这是一个 Object
大写字母是什么?D 代表什么?
我想那时候的信物应该是 i
属性,所以我试着让 i
属性,购买第二个 console.log
也给出了以下内容。
undefined
怎么会这样?
getIdToken
返回一个承诺,所以你需要在使用值之前等待它。
const idToken = await getFirebase().auth().currentUser.getIdToken();
该 火力基地 SDK文档对以下内容进行了说明 的 getIdToken
办法:
getIdToken ( forceRefresh ? : boolean ) : Promise < string > 返回一个JSON Web Token (JWT),用于识别用户和Firebase服务。
如果当前的令牌没有过期,则返回它。否则,将刷新令牌并返回一个新的令牌。
参数 可选 forceRefresh: boolean 强制刷新,不管token是否过期。
返回 Promise
这意味着您在登录时得到的结果是 idToken
变量是一个 Promise
对象,而不是您所期望的 token literal。
你应该 await
对于 getIdToken
方法的返回值或使用 Promise#then
风格。
async function updateDataInDatabase(data, dispatch, getFirebase) {
const idToken = await getFirebase().auth().currentUser.getIdToken();
try {
await axios.post(`http://localhost:5000/app/todo/data`, JSON.stringify(data), {
headers: { 'Content-Type': 'application/json', 'firebase-idToken': idToken },
});
} catch (err) {
console.log(err.message);
return err.message;
}
}
以上是关于如何从 "getFirebase().auth().currentUser.getIdToken() "中获取字符串值。的主要内容,如果未能解决你的问题,请参考以下文章
Object(...) 不是 applyMiddleware(thunk.withExtraArgument( getFirebase, getFirestore )) 的函数错误
如何从 MaterialButton.addOnCheckedChangeListener "as a lambda" 获取监听器