Pull request Compare This branch is 6 commits ahead, 143 commits behind Node-8.
Latest commit 84b1c31 Aug 17, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
functions Merge pull request #396 from jofftiquez/master May 16, 2018
public Auto-update dependencies. Aug 17, 2018
README.md local server runs on http, not https Jun 28, 2018
firebase.json Adding hosting re-write rules for the authorized-https-sample. May 12, 2017

README.md

Authorized HTTPS Endpoint

This samples shows how to restrict an HTTPS Function to only the Firebase users of your app.

Only users who pass a valid Firebase ID token as a Bearer token in the Authorization header of the HTTP request or in a __session cookie are authorized to use the function.

Checking the ID token is done with an ExpressJs middleware that also passes the decoded ID token in the Express request object.

Once authorized the function respond with 'Hello '.

This sample comes with a simple web-based UI which code is in public directory that lets you sign-in Firebase and initiates an authorized XHR to the Function.

Setting up the sample

  1. Create a Firebase Project using the Firebase Console.
  2. Enable the Google Provider in the Auth section.
  3. Clone or download this repo and open the authorized-https-endpoint directory.
  4. You must have the Firebase CLI installed. If you don't have it install it with npm install -g firebase-tools and then configure it with firebase login.
  5. Configure the CLI locally by using firebase use --add and select your project in the list.
  6. Install dependencies locally by running: cd functions; npm install; cd -

Deploy and test

This sample comes with a web-based UI for testing the function. To test locally do:

  1. Start serving your project locally using firebase serve --only hosting,functions
  2. Open the app in a browser at http://localhost:5000.
  3. Sign in the web app in the browser using Google Sign-In and two authenticated requests will be performed from the client and the result will be displayed on the page, normally "Hello ".

To deploy and test on prod do:

  1. Deploy your project using firebase deploy
  2. Open the app using firebase open hosting:site, this will open a browser.
  3. Sign in the web app in the browser using Google Sign-In and two authenticated requests will be performed from the client and the result will be displayed on the page, normally "Hello ".

Contributing

We'd love that you contribute to the project. Before doing so please read our Contributor guide.

License

© Google, 2017. Licensed under an Apache-2 license.