Ferrox-Py-Auth
1. Overview (What does this do?)
The ferrox-py-auth module is a specialized extension for the Ferrox ecosystem that provides a comprehensive Identity & Access Management (IAM) suite. It delivers pre-built functionalities for managing user registrations, Single Sign-On (SSO), Role-Based Access Control (RBAC), and compliance with European data privacy laws (GDPR).
2. Philosophy (Why does it exist?)
Authentication and authorization are complex and highly sensitive domains. Re-implementing secure login flows, password hashing, SSO integration, and GDPR-compliant data deletion mechanisms for every new project is not only inefficient but heavily prone to critical security vulnerabilities. This module exists to provide a battle-tested, standardized "plug-and-play" identity solution that adheres to strict zero-trust principles.
3. Target Audience (Who is it for?)
This module is intended for backend engineers and security architects building Enterprise SaaS, financial platforms, or any consumer-facing application where data privacy (like GDPR compliance) and secure access controls are legal or operational requirements.
4. Architecture (How does it work?)
ferrox-py-auth plugs directly into the 7-Layer Onion Request Pipeline of the core ferrox-py framework, specifically occupying Layers 3 (Threat Engine) and 4 (Auth Guards). It registers a set of domain Services (AuthService, GdprService) into the central IoC Container and exposes abstract Data Models (User, UserIdentity) that can be persisted via MongoDB or SQLAlchemy adapters provided by the ferrox-py Data Component.
5. Installation / Setup
This package requires the core ferrox-py framework to function. Install it via pip:
pip install ferrox-py-auth
Ensure you have configured a persistent database layer (either SQL or NoSQL) in your core application to store the user identities.
6. Quickstart (Usage)
from ferrox_py.core.app import FerroxApp
from ferrox_py.core.container import Container
from ferrox_py_auth import AuthModule
# Initialize the IoC container
container = Container()
# The AuthModule automatically registers the AuthService, GdprService,
# and Auth Guards into the container and application lifecycle.
container.register_module(AuthModule)
app = FerroxApp(container)
app.start()
7. Ecosystem Integration
This module relies heavily on the Security component of the core ferrox-py framework for generating and parsing PASETO/JWT tokens. It also serves as a foundational dependency for ferrox-py-commerce, as a validated User context is required before initiating billing or subscription processes.
Metadata
Release files for ferrox-py-auth 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ferrox_py_auth-1.1.0.tar.gz | 10.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ferrox_py_auth-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 kB
Release files / ferrox_py_auth-1.1.0.tar.gz
| Download URL | ferrox_py_auth-1.1.0.tar.gz |
|---|---|
| Size | 10.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac6a56eac5e3e75d38b28b511b7b2c28f9241a5d188e0da5415fb1330e1464e7
|
|
BLAKE2b-256 checksum How to use checksums |
17486fcd2e01a1da4687d7a1c84001592ddb43860967c3c5aecff5c506b0c093
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / ferrox_py_auth-1.1.0-py3-none-any.whl
| Download URL | ferrox_py_auth-1.1.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b14f447bcc0e939196628f7a3849dcc3340aa9acfe2033c97ef09a415d2e6e75
|
|
BLAKE2b-256 checksum How to use checksums |
90ccf6f4450edf7772c4517076b290781f905c589915d01b1dbf4da1a75ebb0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|