A Tigrbl Multi‑tenant OpenID‑Connect / OAuth2 Identity‑Provider server by Swarmauri.
Project description
Tigrbl Auth 🔐
Secure, multi-tenant identity services for the Tigrbl ecosystem.
Terminology 📚
- Tenant 🏢 – a namespace used to group related resources such as repositories or clients.
- Principal 👤 – an owner of resources, for example an individual user or an organization.
Auto Authn: Multi-Tenant OpenID Connect Provider 🚦
Auto Authn is an async, SQL-backed Identity Provider for OpenID Connect 1.0 and OAuth 2.1.
It provides per-tenant isolation and is designed to scale for SaaS deployments.
Features ✨
- 🏢 Per-tenant issuer URLs with isolated user and client tables.
- 🔐 RSA-based JWT signing with helpers for key rotation.
- 🐅 Powered by Tigrbl.
- 🔎 OIDC discovery endpoints and JWKS generation.
- 🛡️ Configurable PostgreSQL or SQLite storage with optional Redis support.
Installation 📦
pip install tigrbl_auth
Extras are available for common database drivers:
# PostgreSQL
pip install tigrbl_auth[postgres]
# SQLite
pip install tigrbl_auth[sqlite]
Quick Start 🚀
from tigrbl.engine import engine
from tigrbl import TigrblApp
from tigrbl_auth.db import dsn
from tigrbl_auth.routers.surface import surface_api
app = TigrblApp(engine=engine(dsn))
surface_api.mount_jsonrpc(prefix="/rpc")
surface_api.attach_diagnostics(prefix="/system")
app.include_router(surface_api)
The embedded surface_api exposes resource and flow operations for in-process usage via
namespaces like surface_api.core.User.create.
Check the documentation for detailed setup and configuration.
To run the API locally with Uvicorn:
uvicorn tigrbl_auth.app:app --reload
The service exposes an OpenID Connect discovery document at
/.well-known/openid-configuration and publishes its JSON Web Key Set at
/.well-known/jwks.json.
Configuration ⚙️
Auto Authn reads settings from environment variables. Common options include:
PG_DSNor the combination ofPG_HOST,PG_PORT,PG_DB,PG_USER,PG_PASSfor database connectivity.REDIS_HOST,REDIS_PORT,REDIS_DB, andREDIS_PASSWORDfor Redis session storage (optional).JWT_SECRETfor token signing andLOG_LEVELto control logging verbosity.
Docker 🐳
A lightweight Dockerfile is provided. Build and run the service with:
docker build -t tigrbl-auth .
docker run -p 8000:8000 tigrbl-auth
Visit http://localhost:8000/docs to explore the interactive API documentation.
Contributing 🤝
Contributions are welcome! Please open an issue or submit a pull request to discuss improvements.
License 📜
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tigrbl_auth-0.3.2.tar.gz.
File metadata
- Download URL: tigrbl_auth-0.3.2.tar.gz
- Upload date:
- Size: 65.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d1238cefde9711d7a2b35f82ea166e890acc727cf52ae5b9dfb537f097129fc
|
|
| MD5 |
341cfe54faea4863f546505decd1e561
|
|
| BLAKE2b-256 |
59687787a45f3f0cd83a56193d60692bf50628f2f96ee30c28440541d9b45d3f
|
File details
Details for the file tigrbl_auth-0.3.2-py3-none-any.whl.
File metadata
- Download URL: tigrbl_auth-0.3.2-py3-none-any.whl
- Upload date:
- Size: 103.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59289503b01d046838f2d916a9f51c240c3e7419f29075796a8beab0c143a8b5
|
|
| MD5 |
6c2359819e104c504d83ac9f758facb3
|
|
| BLAKE2b-256 |
b08ef2e59ce4fe25e685af886f4fa365f73aac9faeac6641454b15f7bb4e930d
|