Skip to main content

Django all auth includes all account, including django default, OAuth (Google, Discord, Twitch), openId (Steam).

Project description

Django all auth includes all account, including django default, OAuth (Google, Discord, Twitch), openId (Steam).

Detailed documentation is in the “docs” directory.

Demo Images:

Login/Signup Page

https://raw.githubusercontent.com/deviserops/dj-all-auth/refs/heads/master/docs/images/login.png

Quick start

  1. Install it by:

    https://pypi.org/project/dj-all-auth/
    
    pip install dj-all-auth
  2. Add “dj_all_auth” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...,
        'dj_all_auth',
    ]
  3. Include the polls URLconf in your project urls.py like this:

    # if you are not using /accounts url then you need to add `LOGIN_URL = '<your-url>'` in your settings.py, and use that url to url path.
    
    path('accounts/', include('dj_all_auth.urls')),
  4. Add context processor to settings.py:

    'dj_all_auth.context_processors.__config'
  5. Add dj_all_auth settings to settings.py:

    DJ_ALL_AUTH = {
        # static path of logo image
        'LOGO': None,
        'CSS': {},
        'JS': {},
        'CONNECTIONS': {
            # name of the url that will be used once OAuth is completed
            'REDIRECT_URI_NAME': None,
            'GOOGLE': {
                # Set {domain-with-above-url-without-locale (en/gb)}/accounts/google/authenticated to google redirect url in google developer console
                'CLIENT_ID': os.getenv('GOOGLE_CLIENT_ID') if os.getenv('GOOGLE_CLIENT_ID') else None,
                'CLIENT_SECRET': os.getenv('GOOGLE_CLIENT_SECRET') if os.getenv('GOOGLE_CLIENT_SECRET') else None,
                'SCOPE': ['openid', 'email', 'https://www.googleapis.com/auth/drive.file']
            },
            'TWITCH': {
                # Set {domain-with-above-url-without-locale (en/gb)}/account/twitch/authenticated to twitch redirect url in twitch developer console
                'CLIENT_ID': os.getenv('TWITCH_CLIENT_ID') if os.getenv('TWITCH_CLIENT_ID') else None,
                'CLIENT_SECRET': os.getenv('TWITCH_CLIENT_SECRET') if os.getenv('TWITCH_CLIENT_SECRET') else None,
                'SCOPE': ['openid', 'user:read:email', 'user:read:broadcast']
            },
            'DISCORD': {
                # Set {domain-with-above-url-without-locale (en/gb)}/account/discord/authenticated to discord redirect url in discord developer console
                'CLIENT_ID': os.getenv('DISCORD_CLIENT_ID') if os.getenv('DISCORD_CLIENT_ID') else None,
                'CLIENT_SECRET': os.getenv('DISCORD_CLIENT_SECRET') if os.getenv('DISCORD_CLIENT_SECRET') else None,
                'SCOPE': ['identify', 'email', 'connections', 'guilds', 'guilds.join']
            }
        }
    }
  6. To create migrations run:

    python manage.py migrate
  7. If you are using multilanguage then to create language file run:

    python manage.py makemessages --all -i venv
  8. Visit the /accounts/ URL to access user account.

  9. To create multilanguage url you need to have locale/<language-code> directory, then run:

    python manage.py makemessages --all -i venv
    # then make your changes in your local file then run
    python manage.py compilemessages

Notes:

These are additional packages used for UI stability - You can find them on my profile.


Test, Build and upload.

  • python -m build

  • pip install –user django-all-auth/dist/path_to.tar.gz To run on local

  • twine upload dist/* –verbose

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

dj_all_auth-0.1b18.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

dj_all_auth-0.1b18-py3-none-any.whl (485.3 kB view details)

Uploaded Python 3

File details

Details for the file dj_all_auth-0.1b18.tar.gz.

File metadata

  • Download URL: dj_all_auth-0.1b18.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for dj_all_auth-0.1b18.tar.gz
Algorithm Hash digest
SHA256 bdd3127878c29792c6a350de175c9a0db9569de2e0b9689b1aba4d9990986da0
MD5 aecf1a7c8a464a1fcb59b6d580bcc70b
BLAKE2b-256 c9314427d1075c6d484101473e89eb2d9d2d9a7a3b87ad5e16b7503dc7140266

See more details on using hashes here.

File details

Details for the file dj_all_auth-0.1b18-py3-none-any.whl.

File metadata

  • Download URL: dj_all_auth-0.1b18-py3-none-any.whl
  • Upload date:
  • Size: 485.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for dj_all_auth-0.1b18-py3-none-any.whl
Algorithm Hash digest
SHA256 61ded84fbaa7cb8e4c09d7b6c4a1e72eed1aae976ac588b308b84668cd13b175
MD5 70250e40dbb46698ae5d1349ed4b71e3
BLAKE2b-256 fb2a7c811cf188c431a9157e2ac54da324570bde129e19ec2fbfe2ab8e501ae9

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