Getting started

Install with:

yarn add redux-saga-firebase

Initialize a firebase app and instanciate redux-saga-firebase:

import firebase from 'firebase'
import '@firebase/firestore' // 👈 If you're using firestore
import ReduxSagaFirebase from 'redux-saga-firebase'

const myFirebaseApp = firebase.initializeApp({
  apiKey: "qosjdqsdkqpdqldkqdkfojqjpfk",
  authDomain: "",
  databaseURL: "",

const reduxSagaFirebase = new ReduxSagaFirebase(myFirebaseApp)

You can now use reduxSagaFirebase methods in your sagas:

const authProvider = new firebase.auth.GoogleAuthProvider()

function* loginSaga() {
  try {
    const data = yield call(reduxSagaFirebase.auth.signInWithPopup, authProvider)
    yield put(loginSuccess(data))
  catch(error) {
    yield put(loginFailure(error))

export default function* rootSaga() {
  yield all([
    takeEvery(types.LOGIN.REQUEST, loginSaga)

Make sure your client provides a implementation of fetch, either natively or via a polyfill (whatwg-fetch is a pretty good one).