Auth

Getting Started

  • Installation
    • Requirements
      • System Requirements
      • Python Dependencies
    • Installation Methods
      • Install from PyPI (Recommended)
      • Install from Source
      • Development Installation
    • Database Setup
      • SQLite (Development)
      • PostgreSQL (Production)
    • Verification
      • Quick Health Check
    • Troubleshooting
      • Common Issues
    • Docker Installation
      • Using Docker Compose (Recommended)
      • Build Docker Image
    • Next Steps
  • Quick Start
    • Starting the Server
      • Development Mode (SQLite)
      • Production Mode (PostgreSQL)
    • Python Library Usage
      • Basic RBAC Example
      • Checking Permissions
      • Querying User Information
      • Querying Role Information
      • Modifying Permissions and Memberships
    • REST API Usage
      • Using cURL
      • Using Python Client
    • Complete Example
    • Running the Showcase Script
    • Next Steps

User Guide

  • Concepts
    • Core Concepts
      • Role-Based Access Control (RBAC)
      • The RBAC Model
      • Client Keys
    • Architecture
      • Layered Architecture
      • Components
    • Data Model
      • Database Tables
    • Permission Checking
      • How Permission Checks Work
      • Query Methods
    • Audit Trail
    • Security Model
      • Defense in Depth
      • Encryption
    • Best Practices
      • Role Design
      • Permission Design
      • Client Key Management
    • Next Steps
  • Python Usage
    • Basic Usage
      • Initialization
    • Working with Roles
      • Creating Roles
      • Listing Roles
      • Deleting Roles
    • Working with Permissions
      • Adding Permissions
      • Checking Role Permissions
      • Listing Role Permissions
      • Removing Permissions
    • Working with Memberships
      • Adding Users to Roles
      • Checking Memberships
      • Listing Role Members
      • Removing Memberships
    • Permission Checking
      • User Permission Checks
      • User Queries
      • Reverse Queries
    • Advanced Usage
      • Decorator Pattern
      • Context Manager Pattern
      • Bulk Operations
    • Database Session Management
      • Custom Database Session
      • Transaction Handling
    • Real-World Examples
      • Example 1: Web Application
      • Example 2: CLI Tool
      • Example 3: Background Jobs
    • Best Practices
    • Next Steps
  • REST API
    • Base URL
    • Authentication
    • Response Format
      • Success Response
      • Error Response
    • API Endpoints
      • Health Check
    • Roles
      • List All Roles
      • Create Role
      • Delete Role
    • Permissions
      • Check Role Permission
      • Add Permission
      • Remove Permission
      • Get Role Permissions
    • Memberships
      • Check Membership
      • Add Membership
      • Remove Membership
      • Get Role Members
    • User Queries
      • Check User Permission
      • Get User Permissions
      • Get User Roles
    • Reverse Queries
      • Find Users by Permission
      • Find Roles by Permission
    • Python Client
      • Using EnhancedAuthClient
    • Error Handling
      • HTTP Status Codes
      • Example Error Response
    • Rate Limiting
    • Complete Example Workflow
      • Bash Script
      • Python Script
    • Next Steps
  • Configuration
    • Environment Variables
      • Database Configuration
      • JWT Configuration
      • Encryption Configuration
      • Server Configuration
      • CORS Configuration
      • Audit Logging
    • Configuration File (.env)
      • Development Configuration
      • Production Configuration
    • Loading Configuration
      • From Environment Variables
      • From .env File
      • Programmatic Configuration
    • Configuration Precedence
    • Validation
    • Common Configuration Patterns
      • Development Setup
      • Production Setup
      • Docker Setup
      • Kubernetes Setup
    • Security Considerations
      • Secrets Management
      • Key Rotation
    • Monitoring and Logging
    • Next Steps
  • Security
    • Authentication
      • Client Keys
      • JWT Configuration
    • Authorization
      • Principle of Least Privilege
      • Role Hierarchy
    • Encryption
      • Field-Level Encryption
      • Transport Security
    • Database Security
      • PostgreSQL Hardening
      • SQLite Permissions
    • Input Validation
      • SQL Injection Protection
      • Input Sanitization
    • CORS Configuration
      • Development
      • Production
    • Audit Logging
      • Enable Comprehensive Logging
      • Monitor Audit Logs
    • Secrets Management
      • Development
      • Production
    • Security Headers
    • Rate Limiting
      • Nginx Rate Limiting
      • Application-Level Rate Limiting
    • Security Checklist
      • Pre-Production
      • Production Monitoring
    • Incident Response
      • Security Breach Response
    • Regular Security Tasks
      • Weekly
      • Monthly
      • Quarterly
    • Next Steps
  • Encryption
    • Overview
      • What is Encrypted
      • Why Deterministic Encryption
      • Example
    • Configuration
      • Generate Encryption Key
      • Enable Encryption
      • Verify Encryption
    • Technical Details
      • Encryption Algorithm
      • Implementation
      • Data Flow
    • Migration
      • Enabling Encryption on Existing Data
      • Disabling Encryption
    • Key Management
      • Key Storage
      • Key Rotation
    • Security Considerations
      • Key Security
      • Encryption Limitations
    • Performance Impact
      • Encryption Performance
      • Optimization
    • Best Practices
    • Troubleshooting
      • Decryption Errors
      • Migration Issues
    • Next Steps
  • Audit Logging
    • Overview
      • What is Logged
      • Audit Log Format
    • Configuration
      • Enable Audit Logging
      • Database Schema
    • Querying Audit Logs
      • Python API
      • SQL Queries
    • Monitoring
      • Real-time Monitoring
      • Alerting
    • Compliance
      • GDPR Compliance
      • SOC 2 Compliance
    • Retention
      • Log Retention Policy
      • Archival
    • Next Steps

Deployment

  • Deployment
    • Deployment Options
    • Standalone Server
      • Using Waitress (Recommended)
      • Using Gunicorn
      • Production Configuration
    • Docker Deployment
      • Dockerfile
      • Build and Run
      • Docker Compose
    • Kubernetes Deployment
      • ConfigMap
      • Secret
      • Deployment
      • Service
    • Systemd Service
      • Service File
      • Enable and Start
    • Cloud Platforms
      • AWS Deployment
    • Next Steps
  • Production Guide
    • Pre-Production Checklist
      • Database
      • Security
      • Monitoring
      • Performance
    • Next Steps

API Reference

  • Authorization
    • Authorization Class
    • Methods
      • Role Management
      • Permission Management
      • Membership Management
      • User Queries
      • Reverse Queries
  • Client
    • RetryableHTTPAdapter
      • RetryableHTTPAdapter.__init__()
      • RetryableHTTPAdapter.init_poolmanager()
    • EnhancedAuthClient
      • EnhancedAuthClient.__init__()
      • EnhancedAuthClient.ping()
      • EnhancedAuthClient.add_membership()
      • EnhancedAuthClient.remove_membership()
      • EnhancedAuthClient.has_membership()
      • EnhancedAuthClient.add_permission()
      • EnhancedAuthClient.remove_permission()
      • EnhancedAuthClient.has_permission()
      • EnhancedAuthClient.user_has_permission()
      • EnhancedAuthClient.get_user_permissions()
      • EnhancedAuthClient.get_role_permissions()
      • EnhancedAuthClient.get_user_roles()
      • EnhancedAuthClient.get_role_members()
      • EnhancedAuthClient.list_roles()
      • EnhancedAuthClient.which_roles_can()
      • EnhancedAuthClient.which_users_can()
      • EnhancedAuthClient.create_role()
      • EnhancedAuthClient.delete_role()
      • EnhancedAuthClient.get_users_for_workflow()
      • EnhancedAuthClient.check_user_workflow_permission()
      • EnhancedAuthClient.close()
    • Client
    • EnhancedAuthClient
      • EnhancedAuthClient
        • EnhancedAuthClient.__init__()
        • EnhancedAuthClient.ping()
        • EnhancedAuthClient.add_membership()
        • EnhancedAuthClient.remove_membership()
        • EnhancedAuthClient.has_membership()
        • EnhancedAuthClient.add_permission()
        • EnhancedAuthClient.remove_permission()
        • EnhancedAuthClient.has_permission()
        • EnhancedAuthClient.user_has_permission()
        • EnhancedAuthClient.get_user_permissions()
        • EnhancedAuthClient.get_role_permissions()
        • EnhancedAuthClient.get_user_roles()
        • EnhancedAuthClient.get_role_members()
        • EnhancedAuthClient.list_roles()
        • EnhancedAuthClient.which_roles_can()
        • EnhancedAuthClient.which_users_can()
        • EnhancedAuthClient.create_role()
        • EnhancedAuthClient.delete_role()
        • EnhancedAuthClient.get_users_for_workflow()
        • EnhancedAuthClient.check_user_workflow_permission()
        • EnhancedAuthClient.close()
    • Client (Legacy)
      • Client
  • Service
    • AuthorizationService
  • Database
    • Database Configuration
    • Session Management
  • Models
    • AuthGroup
    • AuthPermission
    • AuthMembership
    • AuthAuditLog

Additional Resources

  • Troubleshooting
    • Database Issues
      • Connection Errors
      • SQLite Permission Errors
    • Authentication Issues
      • Invalid Client Key
    • Encryption Issues
      • Decryption Failed
    • Performance Issues
      • Slow Queries
  • Examples
    • Web Application Example
      • Flask Integration
    • CLI Tool Example
    • Microservices Example
  • Changelog
    • Version 1.1.0 (2025-11-23)
      • Features
      • Improvements
    • Version 1.0.0
  • Contributing
    • Development Setup
    • Running Tests
    • Code Style
    • Pull Requests
    • License
    • Contact
Auth
  • Search


© Copyright 2025, RODMENA LIMITED.

Built with Sphinx using a theme provided by Read the Docs.