Skip to main content

A Django app for providing the Google's discovery based Oauth2 authentication mechanism is HTTP/HTTPS oriented Django Servers/Projects.

Project description

Google Auth [ Django ]

PyPI version Python versions Django versions Downloads License Documentation tests coverage pages-build-deployment Pylint

Official Documentation

Why django-gauth?

Google sign-in for Django in 5 minutes — without the django-allauth configuration maze.

django-gauth does exactly one thing well: add Google OAuth2 login to an HTTP/HTTPS Django project, with a working landing page included — no multi-provider abstractions, no sprawling configuration, just the Google flow, clearly documented.

django-gauth django-allauth Roll-your-own
Setup for just Google ⚡ Minimal (3 settings + 1 URL include) 🧩 Broad, multi-step config 🛠️ Manual OAuth wiring
Built-in login page ✅ Ships a landing page ➖ Bring your own templates ❌ Build it yourself
Scope 🎯 Google OAuth2 only 🌐 Many providers 🎯 Whatever you build
Learning curve 📉 Low 📈 Higher (large surface) ⚠️ Easy to get OAuth subtly wrong
Typed & tested ✅ Type hints + ~99% coverage ✅ Mature ➖ Up to you

Reach for django-allauth when you need many providers, account linking, and email workflows. Reach for django-gauth when you want Google sign-in working today with minimal ceremony.

Installation

Source Command
GitHub pip install -e git+https://github.com/masterPiece93/django-gauth.git#egg=django_gauth
PyPi pip install django-gauth

Quickstart

  1. add the app name : django_gauth in INSTALLED_APPS entry of you project ( in settings.py file )

  2. add required configuration variables ( in settings.py file )

    # settings.py
    GOOGLE_CLIENT_ID= env("GOOGLE_CLIENT_ID")           # << set according to your oauth2 client
    GOOGLE_CLIENT_SECRET= env("GOOGLE_CLIENT_SECRET")   # << set according to your oauth2 client
    GOOGLE_AUTH_FINAL_REDIRECT_URL= None        # defaults to `<host>/gauth/`
    CREDENTIALS_SESSION_KEY_NAME= "credentials" # defaults to `credentials`
    STATE_KEY_NAME= "oauth_state"               # defaults to `oauth_state`
    SCOPE= [
        "https://www.googleapis.com/auth/userinfo.email"    # always preffered
        ,"https://www.googleapis.com/auth/userinfo.profile" # always preffered
        ,"openid"                                           # always preffered
        ,"https://www.googleapis.com/auth/drive"            # based on your usage
    ]
    os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'         # strictly for local-development only
    
    • os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' directs the server to accept in-secure (http) connections .
  3. configure auth urls ( in urls.py file of root )

    # urls.py
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('gauth/', include('django_gauth.urls')),
        
        # add your other app's urls
        # ...
    
    ]
    
  4. now run your project server

    • once your server is up & running , navigate to .../gauth, this is the master interface ( default landing page )
    • click on Authenticate button to launch Google Oauth2 Login .
    • just follow the flow you are directed to .
    • post authentication , you'll be redirected back to .../gauth
  • NOTE : useually all servers ( wsgi, asgi, uWsgi) runs default on http://127.0.0.1:PORT/ , hence always take care to set the redirect endpoints in your google oauth2 client app in accordance with 127.0.0.1 , don't mistake to consider localhost , 0.0.0.0 and 127.0.0.1 as the same thing while dealing with redirect uri's .
    • For example : suppose you have set http://localhost:PORT/gauth/google-callback as your redirect uri , then take note of running your django app on localhost:PORT only !!

Changelog

See CHANGELOG.md for the full release history and notable changes in each version.


Releases

See Github Releases for the details of each release in each version .


Download files

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

Source Distribution

django_gauth-0.2.2.tar.gz (64.4 kB view details)

Uploaded Source

Built Distribution

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

django_gauth-0.2.2-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

Details for the file django_gauth-0.2.2.tar.gz.

File metadata

  • Download URL: django_gauth-0.2.2.tar.gz
  • Upload date:
  • Size: 64.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_gauth-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2f4f363bc16ff8f9521059cd6eaade89999d0de65b06e9c45487ba2ebd5398f3
MD5 bde8eccec8bc38e6a8c1ec31606b56c3
BLAKE2b-256 6de0c6d299306886eaa5a8d80a9b90cd1149d4f02591e14510f11f7119f1fd08

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_gauth-0.2.2.tar.gz:

Publisher: release.yml on masterPiece93/django-gauth

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_gauth-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: django_gauth-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 47.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_gauth-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b07475d2adc7c87c379e3b714547eac734e1412af82b93c41d7976d2f405b79
MD5 50e3423dc82e6cb4de6d1547bab7e3e1
BLAKE2b-256 e70188b3e4c90017be7a6f90d5af1147a5d814555318a9d82cfd803a5103bc9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_gauth-0.2.2-py3-none-any.whl:

Publisher: release.yml on masterPiece93/django-gauth

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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