All Projects → the-road-to-react-with-firebase → React Gatsby Firebase Authentication

the-road-to-react-with-firebase / React Gatsby Firebase Authentication

Licence: mit
🐣🔥Starter Project / Boilerplate for Authentication with Firebase and plain React in Gatsby.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Gatsby Firebase Authentication

Nextjs Redux Firebase Authentication
Boilerplate Project for Authentication with Firebase in NextJs and Redux
Stars: ✭ 90 (-74.72%)
Mutual labels:  firebase, firebase-database, authentication, authorization, firebase-auth, firebase-authentication
React Mobx Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and MobX
Stars: ✭ 111 (-68.82%)
Mutual labels:  firebase, firebase-database, authentication, authorization, firebase-auth, firebase-authentication
React Firebase Authentication
🔥 Boilerplate Project for Authentication with Firebase in React.
Stars: ✭ 863 (+142.42%)
Mutual labels:  firebase, firebase-database, authentication, authorization, firebase-auth, firebase-authentication
React Redux Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and Redux
Stars: ✭ 265 (-25.56%)
Mutual labels:  firebase, firebase-database, authentication, authorization, firebase-auth, firebase-authentication
Firebase Js Sdk
Firebase Javascript SDK
Stars: ✭ 3,844 (+979.78%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth, firebase-authentication
Rxfirebase
Rxjava 2.0 wrapper on Google's Android Firebase library.
Stars: ✭ 509 (+42.98%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth, firebase-authentication
The Road To React With Firebase
📓The Road to React with Firebase: Your journey to build business applications with React and Firebase.
Stars: ✭ 82 (-76.97%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth, firebase-authentication
React Firebase Hooks
React Hooks for Firebase.
Stars: ✭ 2,227 (+525.56%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth, firebase-authentication
Firebase Ios Sdk
Firebase iOS SDK
Stars: ✭ 3,309 (+829.49%)
Mutual labels:  firebase, firebase-database, authentication, firebase-auth, firebase-authentication
Laravel Firebase
A Laravel package for the Firebase PHP Admin SDK
Stars: ✭ 369 (+3.65%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth, firebase-authentication
Firebase Admin Java
Firebase Admin Java SDK
Stars: ✭ 345 (-3.09%)
Mutual labels:  firebase, firebase-database, authentication, firebase-auth, firebase-authentication
Firebase Admin Python
Firebase Admin Python SDK
Stars: ✭ 591 (+66.01%)
Mutual labels:  firebase, authentication, firebase-auth, firebase-authentication
Gatsby Theme Firebase
🔥 A Gatsby Theme for adding Firebase to your application.
Stars: ✭ 96 (-73.03%)
Mutual labels:  gatsby, firebase, firebase-database, firebase-auth
Chatter
Real time chat app written in Swift 4 using Firebase
Stars: ✭ 30 (-91.57%)
Mutual labels:  firebase-auth, firebase-database, firebase-realtime-database, firebase-authentication
Whatsup
**Deprecated** Real time chat app written in Swift 4 using Firebase and OTP Authentication
Stars: ✭ 39 (-89.04%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-authentication
Firebase Admin Node
Firebase Admin Node.js SDK
Stars: ✭ 1,050 (+194.94%)
Mutual labels:  firebase, firebase-database, firebase-auth, firebase-authentication
Petshop
Pet Shop is an e-commerce application for Android built with Flutter (iOS to come soon).
Stars: ✭ 127 (-64.33%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth
Firebase Php
Unofficial Firebase Admin SDK for PHP
Stars: ✭ 1,657 (+365.45%)
Mutual labels:  firebase, firebase-database, firebase-auth, firebase-authentication
Space
A real time chat app for developers built using React, Redux, Electron and Firebase
Stars: ✭ 161 (-54.78%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-auth
Firebase Authentication Dotnet
C# library for Firebase Authentication
Stars: ✭ 222 (-37.64%)
Mutual labels:  firebase, firebase-database, firebase-realtime-database, firebase-authentication

🐣 Gatsby Firebase Starter

Build Status Slack Greenkeeper badge

Your minimal yet extensive authentication starter project in Gatsby.js with Firebase and plain React.

Variations

Features

  • uses:
    • only React (Gatsby.js)
    • firebase
  • features:
    • Sign In
    • Sign Up
    • Sign Out
    • Password Forget
    • Password Change
    • Verification Email
    • Protected Routes with Authorization
    • Roles-based Authorization
    • Social Logins with Google, Facebook and Twitter
    • Linking of Social Logins on Account dashboard
    • Auth Persistence with Local Storage
    • Database with Users and Messages

License

Commercial license

If you want to use this starter project to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase an commercial license for different team sizes:

It grants you also access to the other starter projects in this GitHub organization.

Open source license

If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this starter project under the terms of the GPLv3.

Installation

Get an overview of Firebase, how to create a project, what kind of features Firebase offers, and how to navigate through the Firebase project dashboard in this visual tutorial for Firebase.

Firebase Configuration

  • copy/paste your configuration from your Firebase project's dashboard into one of these files
    • src/components/Firebase/firebase.js file
    • .env file
    • .env.development and .env.production files

The .env or .env.development and .env.production files could look like the following then:

GATSBY_API_KEY=AIzaSyBtxZ3phPeXcsZsRTySIXa7n33NtQ
GATSBY_AUTH_DOMAIN=react-firebase-s2233d64f8.firebaseapp.com
GATSBY_DATABASE_URL=https://react-firebase-s2233d64f8.firebaseio.com
GATSBY_PROJECT_ID=react-firebase-s2233d64f8
GATSBY_STORAGE_BUCKET=react-firebase-s2233d64f8.appspot.com
GATSBY_MESSAGING_SENDER_ID=701928454501

Activate Sign-In Methods

firebase-enable-google-social-login_640

Activate Verification E-Mail

  • add a redirect URL for redirecting a user after an email verification into one of these files
    • src/components/Firebase/firebase.js file
    • .env file
    • .env.development and .env.production files

The .env or .env.development and .env.production files could look like the following then (excl. the Firebase configuration).

Development:

GATSBY_CONFIRMATION_EMAIL_REDIRECT=http://localhost:3000

Production:

GATSBY_CONFIRMATION_EMAIL_REDIRECT=https://mydomain.com

Security Rules

In the Firebase console, go to Database, select "Realtime Database" -> Rules, and paste the rules below:

{
  "rules": {
    ".read": false,
    ".write": false,
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid || root.child('users/'+auth.uid).child('roles').hasChildren(['ADMIN'])",
        ".write": "$uid === auth.uid || root.child('users/'+auth.uid).child('roles').hasChildren(['ADMIN'])"
      },
      ".read": "root.child('users/'+auth.uid).child('roles').hasChildren(['ADMIN'])",
      ".write": "root.child('users/'+auth.uid).child('roles').hasChildren(['ADMIN'])"
    },
    "messages": {
      ".indexOn": ["createdAt"],
      "$uid": {
        ".write": "data.exists() ? data.child('userId').val() === auth.uid : newData.child('userId').val() === auth.uid"
      },
      ".read": "auth != null",
      ".write": "auth != null",
    },
  }
}

Setup via Gatsby CLI

  • gatsby new react-gatsby-firebase-authentication https://github.com/the-road-to-react-with-firebase/react-gatsby-firebase-authentication.git
  • cd react-gatsby-firebase-authentication
  • npm install
  • gatsby develop
  • visit http://localhost:8000
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].