Firebase getIdToken возвращает объект - PullRequest
0 голосов
/ 21 декабря 2018

Я использую библиотеку 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');
        }
    }
}

Что я делаю не так?

1 Ответ

0 голосов
/ 25 января 2019

getIdToken возвращает обещание, убедитесь, что вы используете getIdToken.then((token) => console.log(token))

...