Skip to main content

Dash Google Auth

Project description

Dash Google Auth

Dash Google Auth is a simple library using Google OAuth to authenticate and view a Dash app.

This Library uses Flask Dance and a modified version of Plotly's own dash auth for authentication.

Basic Use

Authentication can be added to your Dash application using the GoogleOAuth class, i.e.

from dash import Dash
from flask import Flask
from dash_google_auth import GoogleOAuth

server = Flask(__name__)
server.config.update({
  'GOOGLE_OAUTH_CLIENT_ID': ...,
  'GOOGLE_OAUTH_CLIENT_SECRET': ...,
})

app = Dash(__name__, server=server, url_base_pathname='/', auth='auth')

authorized_emails = [...]
additional_scopes = [...]
auth = GoogleOAuth(app, authorized_emails, additional_scopes)

# your Dash app here :)
...

Example

Steps to try this out yourself:

  1. Install the dash-google-auth library using pip:

    $ pip install dash-google-auth
    
  2. Follow the Flask Dance Guide to create an app on the google admin console

  3. Make a copy of app.py and set the variables (or set the corresponding environment variables):

    server.config["GOOGLE_OAUTH_CLIENT_ID"] = ...
    server.config["GOOGLE_OAUTH_CLIENT_SECRET"] = ...
    

    with values from the Google OAuth 2 client you should have set up in step 1. If you've set these up properly, you can find them at APIs & Services > Credentials under the section OAuth 2.0 client IDs.

  4. Replace authorized_emails in app.py with whatever Google emails you want to grant access to your app. In production, I'd recommend getting these from a database instead.

  5. Run python app.py and open localhost in a browser window to try it out! If the app loads automatically without prompting a Google login, that means you're already authenticated -- try using an incognito window in this case if you want to see the login experience for a new user.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
dash_google_auth-0.1.2-py3-none-any.whl (5.0 kB) Copy SHA256 hash SHA256 Wheel py3

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page