1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-firebase-authentication
moflo b0148cf453 Update for use with Firestore (#5793)
Google seems to be deprecated the legacy realtime database and moving towards default use of Firestore, although it's still officially in beta. This PR migrates towards Firestore and the recommended loading methods for the Firebase 5.6.0 libraries. Note: the Firebase and Firebase-Admin dependencies should be updated to 5.6.0 and 6.3.0 respectively.
2018-12-10 14:25:40 +01:00
..
credentials Upgrade standard.js (#4064) 2018-03-27 20:11:03 +02:00
pages Update for use with Firestore (#5793) 2018-12-10 14:25:40 +01:00
package.json Updates version of firebase (#5829) 2018-12-06 11:17:18 +01:00
README.md Update with-firebase-auth example (#5742) 2018-11-25 14:57:15 +01:00
server.js Upgrade standard.js (#4064) 2018-03-27 20:11:03 +02:00

Deploy to now

With Firebase Authentication example

How to use

Using create-next-app

Execute create-next-app with Yarn or npx to bootstrap the example:

npx create-next-app --example with-firebase-authentication with-firebase-authentication-app
# or
yarn create next-app --example with-firebase-authentication with-firebase-authentication-app

Download manually

Download the example:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-firebase-authentication
cd with-firebase-authentication

Set up firebase:

  • Create a project at the Firebase console.
  • Get your account credentials from the Firebase console at settings>service accounts, where you can click on generate new private key and download the credentials as a json file. It will contain keys such as project_id, client_email and client id. Now copy them into your project in the credentials/server.js file.
  • Get your authentication credentials from the Firebase console under authentication>users>web setup. It will include keys like apiKey, authDomain and databaseUrl and it goes into your project in credentials/client.js.
  • Copy the databaseUrl key you got in the last step into server.js in the corresponding line.
  • Back at the Firebase web console, go to authentication>signup method and select Google.
  • Create a database in the "Database" tab and select the realtime database. Then go to "rules" and set up your write, read rules. Examples can be found here: https://firebase.google.com/docs/database/security/quickstart#sample-rules

Install it and run:

npm install
npm run dev
# or
yarn
yarn dev

Deploy it to the cloud with now (download)

now

The idea behind the example

The goal is to authenticate users with firebase and store their auth token in sessions. A logged in user will see their messages on page load and then be able to post new messages.