@gigster/module-loopback-firebase-authentication
v1.1.12
Published
Role | Name | Email | Slack ---- | ---- | ----- | ----- *Developer* | Name | [[email protected]](mailto:[email protected]) | [@fridiculous]
Downloads
52
Readme
Loopback Firebase Authentication
Role | Name | Email | Slack ---- | ---- | ----- | ----- Developer | Name | [email protected] | [@fridiculous]
Overview
This module enables a Firebase SDK with a loopback backend. By using this module, the api returns a firebaseAccessToken
with when a user signs in via user/login
endpoint. This token can then be used to sign into firebase from a client application.
See (using custom auth with Firebase docs)[https://firebase.google.com/docs/auth/web/custom-auth]
Usage
In your gig.yaml
please update your modules as such:
modules:
- name: loopback-models
location: >-
https://github.com/liquidlabs-co/gig-modules/tree/master/block/loopback-models
spec: {}
- name: loopback-authentication
location: >-
https://github.com/liquidlabs-co/gig-modules/tree/master/block/loopback-authentication
spec:
webEnabled: true
providers:
local: {}
- name: loopback-firebase-authentication
location: >-
'https://github.com/liquidlabs-co/gig-modules/tree/master/block/loopback-firebase-authentication'
spec: {}
There is no specification for this module.
Dependencies
This is dependant on the loopback
framework and these two other modules
- loopback-models
- loopback-authentication
Environment Variables
Make a shell script to export your environment variables.
export FIREBASE_PROJECT=
export FIREBASE_PROJECT_KEY_ID=
export FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n -----END PRIVATE KEY-----\n"
export FIREBASE_CLIENT_EMAIL=
export FIREBASE_CLIENT_ID=
export FIREBASE_CLIENT_X509_CERT_URL=
To get your environment variables for the firebase SDK, follow the instructions at the firebase admin docs
Generation
To generate this playground, try the following command
gig generate --path ../gig-modules/block/loopback-firebase-authentication/playground --verbose
Models
The module contributes the following models to the project.
Model | Attribute | Description ---- | ---- | ---- accessToken | firebaseAccessToken | the firebase access token used to authenticate with the firebase backend for a given user
Troubleshooting
To troubleshoot this, try to login via the api and see if a firebaseAccessToken
is returned along with the user.
Tests
Module tests are defined using a test/scenarios.yaml
file. This file defines the set of example gigs that we generate as part of integration testing. To run all tests, run yarn test
at the root of this module.
Each scenario is generated in test/scenario/<name>
which you can then cd
into and run the actual app. For a scenario called default
, this is done via:
cd test/scenario/default
yarn install
# Run tests.
yarn test
# Start the app.
yarn start