Skip to main content

mlflow-oidc-auth

License PyPI Downloads Ask DeepWiki

OpenID Connect (OIDC) authentication and authorization plugin for MLflow.

This plugin allows you to use OIDC for user management in MLflow, enabling single sign-on (SSO) capabilities and centralized user management.

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by the MLflow Project, Databricks, the Linux Foundation, or LF Projects, LLC. MLflow and related marks are trademarks of their respective owners. Maintained by Kharkevich Engineering Lab.

Features

  • OIDC-based authentication for MLflow UI and API
  • User management through OIDC provider
  • User-level access control
  • Group-based access control
  • Permissions management based on regular expressions (allows or denies access to specific MLflow resources based on regular expressions and assigns permissions to users or groups)
  • Support for session, JWT, and basic authentication methods
  • Compatible with mlflow-client (basic auth)

Documentation

For detailed documentation, please refer to the docs. AI generated documentation is available at DeepWiki.

Quick Start

To get the full version (with entire MLflow and all dependencies), run:

python3 -m venv venv
source venv/bin/activate
python3 -m pip install mlflow-oidc-auth[full]
mlflow server --app-name oidc-auth --host 0.0.0.0 --port 8080

Webhook secret encryption key 🔐

Webhook secrets are stored encrypted in the database using a Fernet key. If you plan to use MLflow webhooks with secrets, set the encryption key in the environment variable MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY before creating any webhooks. Generate a key with:

MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY=$(python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
export MLFLOW_WEBHOOK_SECRET_ENCRYPTION_KEY

Important: keep this key stable across application restarts and replicas. If the key is lost or changed after webhooks are created, previously stored secrets cannot be decrypted and will cause webhook listing to fail until you restore the original key or remove/rotate the affected webhook secrets.

Development

For development quick start, please refer to the Development and Contribution section. Contribution guidelines are available in CONTRIBUTING.md.

License

Apache 2 Licensed. For more information, please see LICENSE.

Based on MLflow basic-auth plugin

https://github.com/mlflow/mlflow/tree/master/mlflow/server/auth

Release files for mlflow-oidc-auth 7.19.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlflow-oidc-auth 7.19.0
File Size Uploaded
mlflow_oidc_auth-7.19.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlflow-oidc-auth 7.19.0
File Interpreter ABI Platform
mlflow_oidc_auth-7.19.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / mlflow_oidc_auth-7.19.0.tar.gz

Download URL mlflow_oidc_auth-7.19.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
e0b242980f9120daab4934b17ef177a64f2569b9e82637c3e5a5d6879ca8cd77
BLAKE2b-256 checksum
How to use checksums
a90956d116c3bb43f8d587200b4ef5e37b9064335bcb0d75e4adf8ed0d212aa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / mlflow_oidc_auth-7.19.0-py3-none-any.whl

Download URL mlflow_oidc_auth-7.19.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
154c8644d9824c2be5c9f90d3e049052e8c70e2cdf0e58337b3e4d11514dc81e
BLAKE2b-256 checksum
How to use checksums
ead376482aa699c92dd55f82a88bc5bd226fd872a5f2658147e4595cd5bf0bea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

7.20.4

2 release files

7.20.3

2 release files

7.20.2

2 release files

7.20.1

2 release files

7.20.0

2 release files

This release

7.19.0 This release

2 release files

7.18.4

2 release files

7.18.3

2 release files

7.18.1

2 release files

7.18.0

2 release files

7.17.0

2 release files

7.16.0

2 release files

7.15.0

2 release files

7.14.0

2 release files

7.13.0

2 release files

7.12.3

2 release files

7.12.2

2 release files

7.12.1

2 release files

7.12.0

2 release files

7.11.0

2 release files

7.10.0

2 release files

7.9.0

2 release files

7.8.1

2 release files

7.8.0

2 release files

7.7.3

2 release files

7.7.2

2 release files

7.7.1

2 release files

7.7.0

2 release files

7.6.0

2 release files

7.5.1

2 release files

7.5.0

2 release files

7.4.8

2 release files

7.4.7

2 release files

7.4.6

2 release files

7.4.5

2 release files

7.4.4

2 release files

7.4.3

2 release files

7.4.2

2 release files

7.4.1

2 release files

7.4.0

2 release files

7.3.5

2 release files

7.3.4

2 release files

7.3.3

2 release files

7.3.2

2 release files

7.3.1

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.1

2 release files

7.1.0

2 release files

7.0.3

2 release files

7.0.2

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.7.1

2 release files

6.7.0

2 release files

6.6.5

2 release files

6.6.4

2 release files

6.6.3

2 release files

6.6.2

2 release files

6.6.1

2 release files

6.6.0

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.2

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.7.0

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.2

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.7.0

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page