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.1b16.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.1b16-py3-none-any.whl (412.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dj_all_auth-0.1b16.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.1b16.tar.gz
Algorithm Hash digest
SHA256 14316633b2c1127097542fe82453d7361335919695cd435c05f39e6ab12b1b5a
MD5 ae7d01383cfdb29e5800a9eb23e1eb50
BLAKE2b-256 2b9a7312c192d04a1269df0a5e8a21508afb9a0e8709c0d4241b0dfe265602dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dj_all_auth-0.1b16-py3-none-any.whl
  • Upload date:
  • Size: 412.9 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.1b16-py3-none-any.whl
Algorithm Hash digest
SHA256 aafdcc8507bb7048a1af26a8dab7b46e8dde25a696fb80a077fdb9da2438208e
MD5 c6d6aaa87d2e0e2a6724426afe4218cf
BLAKE2b-256 7305d35868a701e92cc5e4c4a60bb511a1361bf80d905d7f9619e262722cd2dc

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