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

graphene_django_firebase_auth-0.0.22.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file graphene_django_firebase_auth-0.0.22.tar.gz.

File metadata

File hashes

Hashes for graphene_django_firebase_auth-0.0.22.tar.gz
Algorithm Hash digest
SHA256 da3b6f44f42196bb1c385fc0e23da2b50bb89aca08611ed56b3f890bcc9914b3
MD5 ce8016538957cd77c450b8df59fe0991
BLAKE2b-256 5eabb22bc763444c9a556d73cc082b02af265313904e8c87467aa9f527819bbd

See more details on using hashes here.

File details

Details for the file graphene_django_firebase_auth-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for graphene_django_firebase_auth-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 08957a69662fb3dfb549b20a2493b11eb67e8c1ed342fd9bccf9f0fc8cce64e8
MD5 70b42d43df3212597c1a566444bdd03e
BLAKE2b-256 ca9c2beba0415bf08869d35ec9ff16ca98c17ff4b7d17d07a00e1e12e4c492f7

See more details on using hashes here.

Supported by

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