Metadata-Version: 2.4
Name: RFL.authentication
Version: 1.8.0
Summary: Rackslab Foundation Library: authentication package
Author-email: Rémi Palancher <remi@rackslab.io>
License-Expression: LGPL-3.0-or-later
Project-URL: Homepage, https://github.com/rackslab/RFL
Project-URL: Bug Tracker, https://github.com/rackslab/RFL/issues
Keywords: utility,basic
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: RFL.core
Provides-Extra: jwt
Requires-Dist: PyJWT; extra == "jwt"
Provides-Extra: ldap
Requires-Dist: python-ldap; extra == "ldap"
Provides-Extra: oidc
Requires-Dist: Authlib; extra == "oidc"
Requires-Dist: Flask; extra == "oidc"
Requires-Dist: requests; extra == "oidc"
Provides-Extra: all
Requires-Dist: PyJWT; extra == "all"
Requires-Dist: python-ldap; extra == "all"
Requires-Dist: Authlib; extra == "all"
Requires-Dist: Flask; extra == "all"
Requires-Dist: requests; extra == "all"

# RFL: authentication package

User identity types, JWT token management, LDAP authentication, and OpenID
Connect (OIDC) client support.

## Installation

The core package installs only `RFL.core`. Optional backends are installed via
pip extras:

| Extra | Dependencies | Use |
|-------|----------------|-----|
| `jwt` | PyJWT | `rfl.authentication.jwt` |
| `ldap` | python-ldap | `rfl.authentication.ldap` |
| `oidc` | Authlib, Flask, requests | `rfl.authentication.oidc` |
| `all` | All of the above | Full authentication stack |

Examples:

```bash
pip install RFL.authentication          # user types and errors only
pip install "RFL.authentication[jwt]"   # JWT support
pip install "RFL.authentication[ldap]"  # LDAP support
pip install "RFL.authentication[oidc]"  # OIDC support
pip install "RFL.authentication[all]"   # all backends
```
