Skip to main content

Authenticate to Dash app using Auth0

Project description

Dash Auth0 OAuth

This is a simple library using Auth0 OAuth2.0 to authenticate and view a Dash app written based on dash-auth and dash-google-oauth. Upon authentication, a cookie is created and kept for 2 weeks.

Setup

Setup an Auth0 tenant and application.

Add <your_app_base_url>/login/callback as allowed callback url and <your_app_base_url> as allowed logout url in the Auth0 Application settings. For example:

allowed callback url: https://www.myapp.com/login/callback
allowed logout url:   https://www.myapp.com

Install the package:

$ pip install dash-auth0-oauth

Define following environment variables:

FLASK_SECRET_KEY

AUTH0_AUTH_URL
AUTH0_AUTH_SCOPE
AUTH0_AUTH_TOKEN_URI
AUTH0_AUTH_USER_INFO_URL
AUTH0_AUTH_CLIENT_ID
AUTH0_AUTH_CLIENT_SECRET
AUTH0_LOGOUT_URL
AUTH0_API_AUDIENCE
AUTH_FLASK_ROUTES

for example

FLASK_SECRET_KEY="<some secret key>"

AUTH0_AUTH_URL="https://<your tenant url>/authorize"
AUTH0_AUTH_SCOPE="openid profile email"
AUTH0_AUTH_TOKEN_URI="https://<your tenant url>/oauth/token"
AUTH0_AUTH_USER_INFO_URL="https://<your tenant url>/userinfo"
AUTH0_AUTH_CLIENT_ID="<your app client id>"
AUTH0_AUTH_CLIENT_SECRET="<your app client secret>"
AUTH0_LOGOUT_URL="https://<your tenant url>/v2/logout"
AUTH0_API_AUDIENCE="<your_api_audience_identifier>"
AUTH_FLASK_ROUTES="true"

Add it to the application:

app = Dash(__name__)

from dash_auth0_oauth.auth0_auth import Auth0Auth
auth = Auth0Auth(app)

You have access to /logout route in order to logout user by making a GET request.

User's name stored in cookie: flask.request.cookies.get('AUTH-USER')

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

dash-auth0-oauth-0.1.5.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

dash_auth0_oauth-0.1.5-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

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