dash-auth
Dash Authorization Package.
What it is and what it does
dash-auth is an authentication layer for Plotly Dash applications that integrates HTTP Basic Authentication and OpenID Connect (OIDC) login flows. It wraps your Dash app with login enforcement, allowing you to restrict access by username/password or delegate to an external identity provider. The package sits on top of dash, flask, and werkzeug, intercepting requests before they reach your Dash callbacks and layouts.
You can whitelist public routes (e.g., a landing page) and use decorators like `protected_callback` and `protected` to guard specific parts of your app. It also supports user groups—you can assign users to groups and check group membership in callbacks to implement role-based access control. For OIDC, you register one or more identity providers and the package handles the OAuth2 redirect flow automatically.
Use it for:
- Restrict a Dash dashboard to authenticated users with a simple username/password dictionary or custom auth function.
- Delegate login to an enterprise identity provider (e.g., Okta, Azure AD) via OIDC without building OAuth2 yourself.
- Whitelist a public landing page while protecting member-only analytics or reports behind login.
- Implement role-based access by assigning users to groups and checking group membership in callbacks.
- Protect individual callbacks or page sections so only authenticated users with the right group can trigger them.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds HTTP Basic Authentication and OpenID Connect (OIDC) login to Dash applications, with support for public routes, user groups, and protected callbacks.
Yes, if you need straightforward authentication for a Dash app and can tolerate dormant maintenance. The package is stable and has no known vulnerabilities, but expect no active updates. Choose it for simple internal dashboards or when OIDC integration saves you from building OAuth2 yourself; avoid it if you need active support or frequent security patches.
Install
dash-auth on PyPI
pip
pip install dash-authuv
uv add dash-authpoetry
poetry add dash-authInstalling dash-auth
Before you install
Low install friction with pure Python dependencies (dash, flask, werkzeug). Maintenance is dormant—last release was 878 days ago—so expect no active bug fixes or feature updates, though the package is marked Production/Stable.
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install dash-auth
from dash import Dash
from dash_auth import BasicAuth
app = Dash(__name__)
USER_PWD = {"username": "password"}
BasicAuth(app, USER_PWD)
Python 3.8 or greater is required.
Verify before relying
- Whether dormant maintenance status affects real-world reliability for production Dash deployments.
- How well OIDC integration handles token refresh and session expiry in long-running apps.
- Performance characteristics when protecting many routes or callbacks with group-based permissions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — dash, flask, werkzeug |
| Maintenance | dormant — 878 days since the last release |
| First released | |
| Downloads | 122,347/month — #11,955 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dash_auth-2.3.0-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
flask-oidcAdds OpenID Connect authentication support to…
permissive · top 5,000 on PyPI
Flask-HTTPAuthAdds HTTP Basic, Digest, and Token…
permissive · top 5,000 on PyPI
dash-cytoscapeDash Cytoscape wraps Cytoscape.js to let you…
permissive · top 15,000 on PyPI
dashDash is a Python framework for building…
permissive · top 5,000 on PyPI
dash-svgProvides SVG component primitives (Svg, G,…
permissive · top 15,000 on PyPI
mozilla-django-oidcIntegrates Django applications with OpenID…
copyleft · top 5,000 on PyPI
dash-tableProvides an interactive DataTable component for…
permissive · top 5,000 on PyPI
dash-core-componentsProvides a suite of React components for…
permissive · top 5,000 on PyPI
dash-html-componentsProvides vanilla HTML components for use in…
permissive · top 5,000 on PyPI
micloudLogs into Xiaomi cloud accounts and retrieves…
permissive · top 15,000 on PyPI