Firebase getIdToken返回对象

时间:2018-12-21 09:07:07

标签: javascript firebase firebase-authentication redux-saga

我正在使用redux-sagaredux-saga-firebase库将firebase与redux-sagas集成。问题是,当我使用signInWithEmailAndPassword登录用户,甚至连接channel来获取已签名的用户并跟踪用户的更改时,我无法获得正确的令牌。 getIdTokengetIdTokenResult方法仅返回具有以下表示形式的对象:

{
    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');
        }
    }
}

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

getIdToken返回一个承诺,请确保您使用getIdToken.then((token) => console.log(token))