Middleware that handles configuration (placed in redux's compose call)


  • fbConfig Object Object containing Firebase config including databaseURL
    • fbConfig.apiKey String Firebase apiKey
    • fbConfig.authDomain String Firebase auth domain
    • fbConfig.databaseURL String Firebase database url
    • fbConfig.storageBucket String Firebase storage bucket
  • config Object Containing react-redux-firebase specific config such as userProfile
    • config.userProfile String Location on firebase to store user profiles
    • config.enableLogging Boolean Whether or not to enable Firebase database logging
    • config.updateProfileOnLogin Boolean Whether or not to update profile when logging in. (default: false)
    • config.enableRedirectHandling Boolean Whether or not to enable auth redirect handling listener. (default: true)
    • config.onAuthStateChanged Function Function run when auth state changes. Argument Pattern: (authData, firebase, dispatch)
    • config.enableEmptyAuthChanges Boolean Whether or not to enable empty auth changes. When set to true, onAuthStateChanged will be fired with, empty auth changes such as undefined on initialization. See #137 for more details. (default: false)
    • config.onRedirectResult Function Function run when redirect result is returned. Argument Pattern: (authData, firebase, dispatch)
    • config.customAuthParameters Object Object for setting which customAuthParameters are passed to external auth providers.
    • config.profileFactory Function Factory for modifying how user profile is saved.
    • config.fileMetadataFactory Function Factory for modifying how file meta data is written during file uploads
    • config.profileParamsToPopulate (Array | String) Parameters within profile object to populate
    • config.autoPopulateProfile Boolean Whether or not to automatically populate profile with data loaded through profileParamsToPopulate config. (default: true)
    • config.setProfilePopulateResults Boolean Whether or not to call SET actions for data that results from populating profile to redux under the data path. For example: role paramter on profile populated from 'roles' root. True will call SET_PROFILE as well as a SET action with the role that is loaded (places it in data/roles). (default: false)



import { createStore, compose } from 'redux'
import { reactReduxFirebase } from 'react-redux-firebase'

// React Redux Firebase Config
const config = {
  userProfile: 'users', // saves user profiles to '/users' on Firebase
  // here is where you place other config options

// Add react-redux-firebase to compose
// Note: In full projects this will often be within createStore.js or store.js
const createStoreWithFirebase = compose(
 reactReduxFirebase(fbConfig, config),

// Use Function later to create store
const store = createStoreWithFirebase(rootReducer, initialState)

Custom Auth Parameters

// Follow Setup example with the following config:
const config = {
  customAuthParameters: {
     google: {
       // prompts user to select account on every google login
       prompt: 'select_account'

Returns Function That accepts a component and returns a Component which wraps the provided component (higher order component).

results matching ""

    No results matching ""