Skip to main content

Authentication provider for graphene-django and Google Firebase's Authentication service.

Project description

# graphene-django-firebase-auth

Authentication provider for graphene-django and Firebase’s Authentication service.

Note this is a WIP and abandoned project since I never ended up using Firebase. But the code is still a good starting point as of writing this.

Partially inspired by [django-firebase-auth](https://github.com/fcornelius/django-firebase-auth) for Django REST framework.

This app is used with [Firebase Authentication](https://firebase.google.com/docs/auth/) on a client.

## Compatibility

This code has only been tested with Python 3.7.0 and Django 2.1.2.

## Installing

  1. Install the app:

`sh pipenv install graphene-django-firebase-auth `

  1. Download the JSON file from your [Firebase console](https://console.firebase.google.com/) with your account’s credentials.

  2. Set FIREBASE_KEY_FILE in your project’s settings to the path of the credentials file:

`python import os FIREBASE_KEY_FILE = os.path.join(BASE_DIR, 'path/to/firebase-credentials.json') `

  1. Add the authentication backend to AUTHENTICATION_BACKENDS:

`python AUTHENTICATION_BACKENDS = ['firebase_auth.authentication.FirebaseAuthentication'] `

  1. Add firebase_auth to INSTALLED_APPS:

`python INSTALLED_APPS = [ 'firebase_auth', ] `

  1. Add FirebaseAuthMixin to your AUTH_USER_MODEL:

`python class User(PermissionsMixin, FirebaseAuthMixin): `

  1. Build and run your DB migrations to add the changes:

`sh ./manage.py makemigrations ./manage.py migrate `

## Sending tokens on the client

Your client will need to send an Authorization: Bearer token on each request. How you do this depends on your client and is outside the scope of this documentation.

## Developing

### Setting up your environment

  1. Install the dependencies:

`sh pipenv install -d `

  1. Download the JSON file from your [Firebase console](https://console.firebase.google.com/) with your account’s credentials.

  2. Create an .env file using .env.example as a template. Make sure to specify the path to the file in the previous step.

  3. Enter the virtual environment:

`sh ./manage.py shell `

### Other commands

`sh # Run the tests ./manage.py test `

`sh # Lint the code ./lint.sh `

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_graphene_firebase_auth-0.0.33.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file django_graphene_firebase_auth-0.0.33.tar.gz.

File metadata

File hashes

Hashes for django_graphene_firebase_auth-0.0.33.tar.gz
Algorithm Hash digest
SHA256 b538df7054ad886ff7948ad5bd0729af88c6959a681b04b7a5b78cf0423793fd
MD5 d990a214b3e89768ab04023aafa86646
BLAKE2b-256 824017ed56b48fd1bf9737cdbb443b6a4c1c0ea67365fd71c54545a3179c75f6

See more details on using hashes here.

File details

Details for the file django_graphene_firebase_auth-0.0.33-py3-none-any.whl.

File metadata

File hashes

Hashes for django_graphene_firebase_auth-0.0.33-py3-none-any.whl
Algorithm Hash digest
SHA256 4d435a45b181ad81565cebf6fba9472072eab19f7b9db920e7948fcb23e23b4d
MD5 d711d53172c5fe3083a3c18af8276e01
BLAKE2b-256 680c89bf18d0d53815c2178482c3bc5b0bb93ba0eca89fdf21c44730b28d031e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page