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