megalus / django-google-sso

Easily add Google Authentication to Django Admin
https://megalus.github.io/django-google-sso/
MIT License
35 stars 20 forks source link

Django Google SSO

Easily integrate Google Authentication into your Django projects

PyPI Build PyPI - Python Version PyPI - Django Version

Welcome to Django Google SSO

This library aims to simplify the process of authenticating users with Google in Django Admin pages, inspired by libraries like django_microsoft_auth and django-admin-sso


Documentation


Install

$ pip install django-google-sso

Configure

  1. Add the following to your settings.py INSTALLED_APPS:
# settings.py

INSTALLED_APPS = [
    # other django apps
    "django.contrib.messages",  # Need for Auth messages
    "django_google_sso",  # Add django_google_sso
]
  1. In Google Console at Api -> Credentials, retrieve your Project Credentials and add them in your settings.py:
# settings.py

GOOGLE_SSO_CLIENT_ID = "your client id here"
GOOGLE_SSO_PROJECT_ID = "your project id here"
GOOGLE_SSO_CLIENT_SECRET = "your client secret here"
  1. Add the callback uri http://localhost:8000/google_sso/callback/ in your Google Console, on the "Authorized Redirect URL".

  2. Let Django Google SSO auto create users for allowable domains:

# settings.py

GOOGLE_SSO_ALLOWABLE_DOMAINS = ["example.com"]
  1. In urls.py please add the Django-Google-SSO views:
# urls.py

from django.urls import include, path

urlpatterns = [
    # other urlpatterns...
    path(
        "google_sso/", include("django_google_sso.urls", namespace="django_google_sso")
    ),
]
  1. And run migrations:
$ python manage.py migrate

That's it. Start django on port 8000 and open your browser in http://localhost:8000/admin/login and you should see the Google SSO button.


License

This project is licensed under the terms of the MIT license.