javascript - Firebase getIdToken 返回对象
问题描述
我正在使用redux-saga和redux-saga-firebase库将firebase与 redux-sagas 集成。问题是当我登录用户时,例如使用signInWithEmailAndPassword
甚至连接channel
以获取已签名用户并跟踪用户更改,我无法获得正确的令牌。getIdToken
,getIdTokenResult
方法只返回具有以下表示的对象:
{
a: 0
b: qb {a: null, g: ƒ, b: ƒ, f: undefined, next: null, …}
c: A {a: 0, i: undefined, c: A, b: qb, f: qb, …}
f: qb {a: null, g: ƒ, b: ƒ, f: undefined, next: null, …}
g: false
h: false
i: undefined
}
这是代码:
function* loginSaga({ payload: { email, password } }) {
try {
yield call(
reduxSagaFirebase.auth.signInWithEmailAndPassword,
email,
password,
);
} catch (error) {
yield put(loginFailure(error));
}
}
function* loginStatusWatcher() {
const channel = yield call(reduxSagaFirebase.auth.channel);
while (true) {
const { user } = yield take(channel);
if (user) {
yield put(loginSuccess());
} else {
console.log('Put logout action here');
}
}
}
我究竟做错了什么?
解决方案
getIdToken 返回一个承诺,确保你使用getIdToken().then((token) => console.log(token))
推荐阅读
- c# - EF Core 中 .WillCascadeOnDelete(false) 的等价物是什么?
- docker - Can you push a Docker image to a private repo and only include differences from a public image?
- firebase-mlkit - ml kit - Text Recognition output issues
- python - 使用 python 进行数组操作 Hackerrank
- php - 如何确定作为字符串传递的数值的类型而不丢失数据或转换为错误的数据类型
- apache-zookeeper - Zookeeper 客户端会话将超时或被传输到另一台服务器?
- java - onRequestPermissionsResult 方法不会覆盖其超类中的方法?
- php - Get value of dropdownlist in view and use in controller Laravel
- python - Can python read images from directory in real-time?
- c# - 使用 REST API 连接 Azure DevOps