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 ]

Static Badge pages-build-deployment Pylint

Official Documentation

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 !!


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.0.tar.gz (53.3 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.0-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for django_gauth-0.2.0.tar.gz
Algorithm Hash digest
SHA256 488640b0e99ed689ccda2101df074560a32f400c012d802baddf6420974e0eff
MD5 e15e4b5400bca1bfb6fa17a10957fcb4
BLAKE2b-256 0795a54950c2ce97558a914ddf6e2b9477424024c9cbeaf1b37f6c32926644a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_gauth-0.2.0.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.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for django_gauth-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bebfab6ad1a29ca005d688fadee4acedc0df5ea01833ef783d1ee86c6efa8a34
MD5 ff3512b046c4d9dbbb10d1006e8f7e43
BLAKE2b-256 c5a72020c06387ef5754a4f2fde81e24ce3ac96fd08152d89a396b7423dad3d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_gauth-0.2.0-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