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 Page

./docs/images/login.png

  • Dashboard

./docs/images/dashboard.png

  • Connections

./docs/images/connections.png

  • Profile

./docs/images/profile.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,
        '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.1b10.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

dj_all_auth-0.1b10-py3-none-any.whl (415.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dj_all_auth-0.1b10.tar.gz
  • Upload date:
  • Size: 2.1 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.1b10.tar.gz
Algorithm Hash digest
SHA256 dd2496ffd8598b3695aa45c5ee608fec4ba8aacaf14555ba1228d7e9a8b992f3
MD5 6f4565328665c1d4584a259aac5903d0
BLAKE2b-256 5dfcb520a778be6c0a88027d6d1a6a624bcdec9449205397bfd49bbf53c1e802

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dj_all_auth-0.1b10-py3-none-any.whl
  • Upload date:
  • Size: 415.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.1b10-py3-none-any.whl
Algorithm Hash digest
SHA256 39c3aa371895233e12d3d977af7876f50b0407140464a5aa6adbde5f7bf62538
MD5 0309498038827708538d57383de36e87
BLAKE2b-256 5d4a9e28e32be6c20eefe293bcc1afeb8d7da717ca7697bd4114910a19c7e6e9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page