mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
b63487c331
- The with-firebase-auth example won't run unless a database with proper rules is created first. - Add a small error callback to addDbListener to help with debugging if someone's database connection doesn't work. |
||
---|---|---|
.. | ||
credentials | ||
pages | ||
package.json | ||
README.md | ||
server.js |
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
andclient id
. Now copy them into your project in thecredentials/server.js
file. - Get your authentication credentials from the Firebase console under authentication>users>web setup. It will include keys like
apiKey
,authDomain
anddatabaseUrl
and it goes into your project incredentials/client.js
. - Copy the
databaseUrl
key you got in the last step intoserver.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.