← Back to all products
$39
OAuth & Auth Library
Complete authentication library with OAuth2, JWT, RBAC, session management, and social login integration.
PythonYAMLMarkdownJSONFastAPIFlaskRedis
📁 File Structure 20 files
oauth-auth-library/
├── LICENSE
├── README.md
├── configs/
│ └── auth_config.yaml
├── examples/
│ ├── fastapi_auth.py
│ └── flask_auth.py
├── guides/
│ └── auth-security-guide.md
├── src/
│ └── auth/
│ ├── jwt_handler.py
│ ├── mfa.py
│ ├── middleware.py
│ ├── oauth2_client.py
│ ├── password.py
│ ├── providers/
│ │ ├── base.py
│ │ ├── github.py
│ │ └── google.py
│ ├── rbac.py
│ └── session.py
└── tests/
├── test_jwt.py
├── test_oauth2.py
└── test_rbac.py
📖 Documentation Preview README excerpt
OAuth Auth Library
Production-ready authentication and authorization for Python web applications.
JWT tokens, OAuth2 flows, RBAC, MFA, and session management — all in one library.
[](https://datanest.dev)
[](https://python.org)
[](LICENSE)
---
What You Get
- JWT Handler — Create, verify, refresh, and revoke tokens with RS256/HS256
- Password Security — Argon2/bcrypt hashing with strength validation
- OAuth2 Client — Authorization code, client credentials, and PKCE flows
- Provider Integrations — Google and GitHub OAuth with extensible base class
- RBAC — Role-based access control with permission decorators
- Auth Middleware — Token extraction, verification, and user injection
- Session Management — Redis-backed sessions with create/validate/revoke
- Multi-Factor Auth — TOTP generation, verification, and recovery codes
- Framework Examples — FastAPI and Flask integration patterns
File Tree
oauth-auth-library/
├── README.md
├── manifest.json
├── LICENSE
├── src/auth/
│ ├── jwt_handler.py
│ ├── password.py
│ ├── oauth2_client.py
│ ├── providers/
│ │ ├── base.py
│ │ ├── google.py
│ │ └── github.py
│ ├── rbac.py
│ ├── middleware.py
│ ├── session.py
│ └── mfa.py
├── configs/
│ └── auth_config.yaml
├── examples/
│ ├── fastapi_auth.py
│ └── flask_auth.py
├── tests/
│ ├── test_jwt.py
│ ├── test_oauth2.py
│ └── test_rbac.py
└── guides/
└── auth-security-guide.md
Getting Started
Issue and verify JWT tokens
... continues with setup instructions, usage examples, and more.
📄 Code Sample .py preview
src/auth/jwt_handler.py
"""JWT token handler: create, verify, refresh, and revoke with RS256/HS256.
Provides a complete JWT lifecycle management class with support for
access tokens, refresh tokens, token revocation, and custom claims.
"""
from __future__ import annotations
import time
import uuid
from dataclasses import dataclass, field
from typing import Any, Optional
import jwt
@dataclass
class TokenPair:
"""Access and refresh token pair."""
access_token: str
refresh_token: str
token_type: str = "Bearer"
expires_in: int = 3600
class JWTHandler:
"""JWT token handler supporting HS256 and RS256 algorithms.
Usage:
handler = JWTHandler(secret_key="secret", algorithm="HS256")
token = handler.create_access_token(subject="user_1")
payload = handler.verify_token(token)
"""
def __init__(
self,
secret_key: str,
algorithm: str = "HS256",
public_key: Optional[str] = None,
issuer: Optional[str] = None,
audience: Optional[str] = None,
) -> None:
self._secret_key = secret_key
self._public_key = public_key
self._algorithm = algorithm
self._issuer = issuer
self._audience = audience
self._revoked_jti: set[str] = set()
# ... 159 more lines ...