auth-middleware 0.3.8__tar.gz → 0.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- auth_middleware-0.4.2/.vscode/extensions.json +15 -0
- auth_middleware-0.4.2/.vscode/settings.json +31 -0
- auth_middleware-0.4.2/CHANGELOG.txt +147 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/PKG-INFO +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic/versions/de961fac6f27_initial_migration.py +11 -12
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.buildinfo +1 -1
- auth_middleware-0.4.2/docs/.doctrees/api.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/cognito_provider.doctree +0 -0
- auth_middleware-0.4.2/docs/.doctrees/entra_id_provider.doctree +0 -0
- auth_middleware-0.4.2/docs/.doctrees/environment.pickle +0 -0
- auth_middleware-0.4.2/docs/.doctrees/exceptions.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/extending-authz-providers.doctree +0 -0
- auth_middleware-0.4.2/docs/.doctrees/functions.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/groups-provider.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/index.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/infrastructure/cognito-setup.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/jwks-cache.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/jwt_auth_middleware.doctree +0 -0
- auth_middleware-0.4.2/docs/.doctrees/jwt_auth_provider.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/jwt_bearer_manager.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/middleware-configuration.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/permissions-provider.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/services.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/types.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/user-guide.doctree +0 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/contracts/groups_provider.html +214 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/contracts/jwt_provider.html +402 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/contracts/permissions_provider.html +216 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/exceptions/authentication_error.html +198 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/exceptions/cognito_exceptions.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/exceptions/invalid_authorization_exception.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/exceptions/invalid_credentials_exception.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/exceptions/invalid_token_exception.html +2 -2
- auth_middleware-0.4.2/docs/_modules/auth_middleware/exceptions/password_policy_error.html +200 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/exceptions/user_not_found_error.html +198 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/functions.html +2 -2
- auth_middleware-0.4.2/docs/_modules/auth_middleware/guards/functions.html +369 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/guards/group_checker.html +219 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/guards/permissions_checker.html +222 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/guards/role_checker.html +219 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/jwt_auth_middleware.html +3 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/jwt_bearer_manager.html +9 -11
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authn/cognito_authz_provider_settings.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authn/cognito_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authn/jwt_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authn/jwt_provider_settings.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authz/cognito_groups_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authz/groups_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authz/permissions_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authz/sql_groups_provider.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/auth_middleware/providers/authz/sql_permissions_provider.html +2 -2
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/aws/cognito_authz_provider_settings.html +230 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/aws/cognito_exceptions.html +231 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/aws/cognito_groups_provider.html +243 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/aws/cognito_provider.html +453 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/aws/jwt_provider_settings.html +232 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/azure/entra_id_provider.html +396 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/azure/settings.html +217 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/sqlalchemy/sql_groups_provider.html +291 -0
- auth_middleware-0.4.2/docs/_modules/auth_middleware/providers/sqlalchemy/sql_permissions_provider.html +296 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_modules/index.html +21 -13
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/api.rst.txt +12 -22
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/cognito_provider.rst.txt +11 -10
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/entra_id_provider.rst.txt +27 -46
- auth_middleware-0.4.2/docs/_sources/exceptions.rst.txt +121 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/extending-authz-providers.rst.txt +13 -13
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/functions.rst.txt +72 -90
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/groups-provider.rst.txt +20 -20
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/index.rst.txt +7 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/infrastructure/cognito-setup.rst.txt +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/jwks-cache.rst.txt +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/jwt_auth_provider.rst.txt +7 -7
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/middleware-configuration.rst.txt +9 -21
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/permissions-provider.rst.txt +15 -15
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/services.rst.txt +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/types.rst.txt +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/user-guide.rst.txt +12 -22
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/documentation_options.js +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/api.html +19 -29
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/auth-authn.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/cognito_provider.html +69 -68
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/entra_id_provider.html +158 -49
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/exceptions.html +77 -146
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/extending-authz-providers.html +15 -15
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/functions.html +138 -111
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/genindex.html +160 -75
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/groups-provider.html +49 -56
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/index.html +20 -18
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/infrastructure/cognito-setup.html +5 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/infrastructure/entra-id-setup.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/infrastructure/google-setup.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/infrastructure.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/installation.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/jwks-cache.html +5 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/jwt_auth_middleware.html +4 -4
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/jwt_auth_provider.html +55 -56
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/jwt_bearer_manager.html +4 -4
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/middleware-configuration.html +11 -23
- auth_middleware-0.4.2/docs/objects.inv +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/permissions-provider.html +40 -47
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/py-modindex.html +33 -8
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/search.html +2 -2
- auth_middleware-0.4.2/docs/searchindex.js +1 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/services.html +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/types.html +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/user-guide.html +14 -24
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/user-property.html +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/api.rst +12 -22
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/cognito_provider.rst +11 -10
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/conf.py +34 -34
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/entra_id_provider.rst +27 -46
- auth_middleware-0.4.2/docs_source/exceptions.rst +121 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/extending-authz-providers.rst +13 -13
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/functions.rst +72 -90
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/groups-provider.rst +20 -20
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/index.rst +7 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/infrastructure/cognito-setup.rst +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/jwks-cache.rst +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/jwt_auth_provider.rst +7 -7
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/middleware-configuration.rst +9 -21
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/permissions-provider.rst +15 -15
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/services.rst +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/types.rst +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/user-guide.rst +12 -22
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/audit_example.py +5 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/auth_examples.py +8 -7
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/jwks_cache_example.py +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/m2m_detection_example.py +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/metrics_example.py +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/examples/rate_limiting_example.py +3 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/pyproject.toml +21 -1
- auth_middleware-0.4.2/src/auth_middleware/__init__.py +26 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/auth_provider.py +3 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/basic_auth_middleware.py +10 -8
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/cli.py +1 -1
- auth_middleware-0.4.2/src/auth_middleware/constants.py +2 -0
- auth_middleware-0.4.2/src/auth_middleware/contracts/__init__.py +27 -0
- auth_middleware-0.4.2/src/auth_middleware/contracts/groups_provider.py +25 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/contracts}/jwt_provider.py +204 -196
- auth_middleware-0.4.2/src/auth_middleware/contracts/permissions_provider.py +27 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/profile → auth_middleware-0.4.2/src/auth_middleware/contracts}/profile_provider.py +2 -2
- auth_middleware-0.4.2/src/auth_middleware/contracts/roles_provider.py +25 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/exceptions/__init__.py +11 -7
- auth_middleware-0.4.2/src/auth_middleware/exceptions/authentication_error.py +9 -0
- auth_middleware-0.4.2/src/auth_middleware/exceptions/password_policy_error.py +11 -0
- auth_middleware-0.4.2/src/auth_middleware/exceptions/user_not_found_error.py +9 -0
- auth_middleware-0.4.2/src/auth_middleware/guards/__init__.py +27 -0
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/guards}/functions.py +7 -12
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/jwt_auth_middleware.py +1 -3
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/jwt_bearer_manager.py +7 -9
- {auth_middleware-0.3.8/src/auth_middleware/providers/cognito → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/__init__.py +1 -1
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/cognito_authz_provider_settings.py +1 -1
- auth_middleware-0.4.2/src/auth_middleware/providers/aws/cognito_exceptions.py +30 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/cognito_groups_as_roles_provider.py +4 -3
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/cognito_groups_provider.py +4 -3
- {auth_middleware-0.3.8/src/auth_middleware/providers/profile → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/cognito_profile_provider.py +3 -3
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/cognito_provider.py +64 -36
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/identity_pool_client.py +7 -5
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/identity_pool_provider.py +19 -17
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/identity_pool_settings.py +6 -5
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/jwt_provider_settings.py +3 -1
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/services/cognito_auth_models.py +16 -6
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/services/cognito_auth_service.py +42 -20
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/services/m2m_detector.py +4 -5
- {auth_middleware-0.3.8/src/auth_middleware/providers/entra_id → auth_middleware-0.4.2/src/auth_middleware/providers/azure}/entra_id_provider.py +25 -15
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/async_database.py +10 -4
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/sql_base_model.py +2 -3
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/sql_groups_provider.py +11 -9
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/sql_permissions_provider.py +14 -10
- auth_middleware-0.4.2/src/auth_middleware/repository/__init__.py +5 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/repository/json_credentials_repository.py +1 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/services/__init__.py +6 -4
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/services/audit.py +7 -5
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/services/metrics.py +6 -4
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/services/rate_limiter.py +21 -11
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/types/user.py +5 -7
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/commands}/test_cli.py +79 -63
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_abstract_stubs.py +11 -7
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_auth_provider.py +12 -13
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_groups_provider.py +2 -2
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_jwt_provider.py +8 -8
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_jwt_provider_settings.py +2 -2
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/contracts}/test_permissions_provider.py +2 -2
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/guards}/test_functions.py +454 -421
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/guards}/test_group_checker.py +104 -101
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/guards}/test_permissions_checker.py +221 -183
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/guards}/test_role_checker.py +27 -10
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_aws_credentials.py +1 -1
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_auth_service.py +44 -19
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_groups_as_roles_provider.py +4 -4
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_profile_provider.py +6 -5
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_provider.py +37 -26
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_provider_clean.py +34 -25
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_cognito_utils.py +1 -1
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_identity_pool_client.py +2 -2
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_identity_pool_provider.py +10 -10
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_identity_pool_settings.py +1 -1
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_jwks_cache_improvements.py +4 -4
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/aws}/test_m2m_detector.py +1 -1
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/azure}/test_entra_id_init.py +19 -14
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/azure}/test_entra_id_provider.py +91 -38
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/azure}/test_entra_id_settings.py +22 -15
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/azure}/test_entra_id_utils.py +29 -35
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/sqlalchemy}/test_async_database.py +64 -60
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/sqlalchemy}/test_sql_groups_provider.py +6 -6
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/providers/sqlalchemy}/test_sql_permissions_provider.py +6 -6
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/repository}/test_json_credentials_repository.py +67 -45
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/services}/test_rate_limiter.py +2 -1
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_basic_auth_middleware.py +458 -348
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_basic_auth_middleware_clean.py +447 -340
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_jwt_bearer_manager.py +378 -347
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_logging.py +116 -112
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/types}/test_jwt_types.py +4 -2
- auth_middleware-0.4.2/tests/types/test_types.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/types}/test_user_m2m.py +2 -2
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/uv.lock +1 -1
- auth_middleware-0.3.8/.vscode/extensions.json +0 -5
- auth_middleware-0.3.8/.vscode/settings.json +0 -6
- auth_middleware-0.3.8/docs/.doctrees/api.doctree +0 -0
- auth_middleware-0.3.8/docs/.doctrees/entra_id_provider.doctree +0 -0
- auth_middleware-0.3.8/docs/.doctrees/environment.pickle +0 -0
- auth_middleware-0.3.8/docs/.doctrees/exceptions.doctree +0 -0
- auth_middleware-0.3.8/docs/.doctrees/functions.doctree +0 -0
- auth_middleware-0.3.8/docs/.doctrees/jwt_auth_provider.doctree +0 -0
- auth_middleware-0.3.8/docs/_sources/exceptions.rst.txt +0 -188
- auth_middleware-0.3.8/docs/objects.inv +0 -0
- auth_middleware-0.3.8/docs/searchindex.js +0 -1
- auth_middleware-0.3.8/docs_source/exceptions.rst +0 -188
- auth_middleware-0.3.8/src/auth_middleware/__init__.py +0 -17
- auth_middleware-0.3.8/src/auth_middleware/exceptions/cognito_exceptions.py +0 -55
- auth_middleware-0.3.8/src/auth_middleware/providers/authz/groups_provider.py +0 -26
- auth_middleware-0.3.8/src/auth_middleware/providers/authz/permissions_provider.py +0 -26
- auth_middleware-0.3.8/src/auth_middleware/providers/authz/roles_provider.py +0 -26
- auth_middleware-0.3.8/src/auth_middleware/providers/profile/__init__.py +0 -6
- auth_middleware-0.3.8/src/auth_middleware/repository/__init__.py +0 -5
- auth_middleware-0.3.8/tests/test_user_comprehensive.py +0 -156
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.coveragerc +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/.bashrc +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/Dockerfile +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/QUICKSTART.md +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/README.md +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/devcontainer.json +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/start.sh +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/uv.toml +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.devcontainer/verify-setup.sh +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.flake8 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.github/workflows/release.yml +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.gitignore +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.python-version +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.sonarlint/connectedMode.json +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/.vscode/launch.json +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/LICENSE +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/README.md +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic/README +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic/env.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic/script.py.mako +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic.ini +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.buildinfo.bak +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/__intersphinx_cache__/fastapi_objects.inv +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/__intersphinx_cache__/python_objects.inv +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/auth-authn.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/infrastructure/entra-id-setup.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/infrastructure/google-setup.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/infrastructure.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/installation.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/user-property.doctree +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.keep +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.nojekyll +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/auth-authn.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/infrastructure/entra-id-setup.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/infrastructure/google-setup.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/infrastructure.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/installation.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/jwt_auth_middleware.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/jwt_bearer_manager.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_sources/user-property.rst.txt +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/base-stemmer.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/basic.css +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/badge_only.css +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-bold-italic.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-bold.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-bold.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-normal-italic.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-normal.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/fonts/lato-normal.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/css/theme.css +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/doctools.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/english-stemmer.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/file.png +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bold.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bold.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bold.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bold.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-italic.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-italic.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-italic.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-italic.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-regular.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-regular.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-regular.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/Lato/lato-regular.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/jquery.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/js/badge_only.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/js/html5shiv-printshiv.min.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/js/html5shiv.min.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/js/theme.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/js/versions.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/language_data.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/minus.png +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/plus.png +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/pygments.css +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/searchtools.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/_static/sphinx_highlight.js +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/Makefile +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/auth-authn.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/infrastructure/entra-id-setup.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/infrastructure/google-setup.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/infrastructure.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/installation.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/jwt_auth_middleware.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/jwt_bearer_manager.rst +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/make.bat +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs_source/user-property.rst +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/commands → auth_middleware-0.4.2/examples}/__init__.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/makefile +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/scripts/README.md +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/scripts/update_version.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/sonar-project.properties +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers → auth_middleware-0.4.2/src/auth_middleware/commands}/__init__.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/repository → auth_middleware-0.4.2/src/auth_middleware/contracts}/credentials_repository.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/exceptions/invalid_authorization_exception.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/exceptions/invalid_credentials_exception.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/exceptions/invalid_token_exception.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/guards}/group_checker.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/guards}/permissions_checker.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware → auth_middleware-0.4.2/src/auth_middleware/guards}/role_checker.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/logging.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/authn → auth_middleware-0.4.2/src/auth_middleware/providers}/__init__.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/types → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/aws_credentials.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/exceptions → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/aws_exception.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/aws/services}/__init__.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/cognito → auth_middleware-0.4.2/src/auth_middleware/providers/aws}/utils.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/entra_id → auth_middleware-0.4.2/src/auth_middleware/providers/azure}/__init__.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/exceptions → auth_middleware-0.4.2/src/auth_middleware/providers/azure}/azure_exception.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/entra_id → auth_middleware-0.4.2/src/auth_middleware/providers/azure}/settings.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/entra_id → auth_middleware-0.4.2/src/auth_middleware/providers/azure}/utils.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/types → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/__init__.py +0 -0
- {auth_middleware-0.3.8/src/auth_middleware/providers/authz → auth_middleware-0.4.2/src/auth_middleware/providers/sqlalchemy}/async_database_settings.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/repository/settings.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/settings.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/src/auth_middleware/types}/__init__.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/types/jwt.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/src/auth_middleware/types/user_credentials.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/0.APITesting/_Auth/(No) Get Id Token.bru +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/0.APITesting/_Auth/Get Token (client credentials).bru +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/0.APITesting/_Auth/Login.bru +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/0.APITesting/bruno.json +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/0.APITesting/environments/Development.bru +0 -0
- /auth_middleware-0.3.8/tests/test_base_provider_comprehensive.py → /auth_middleware-0.4.2/tests/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_exceptions_comprehensive.py → /auth_middleware-0.4.2/tests/commands/__init__.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/conftest.py +0 -0
- /auth_middleware-0.3.8/tests/test_functions_comprehensive.py → /auth_middleware-0.4.2/tests/contracts/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_group_checker_comprehensive.py → /auth_middleware-0.4.2/tests/exceptions/__init__.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/exceptions}/test_exceptions.py +0 -0
- /auth_middleware-0.3.8/tests/test_groups_provider_comprehensive.py → /auth_middleware-0.4.2/tests/guards/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_jwt_auth_middleware_comprehensive.py → /auth_middleware-0.4.2/tests/providers/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_jwt_provider_comprehensive.py → /auth_middleware-0.4.2/tests/providers/aws/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_jwt_provider_settings_comprehensive.py → /auth_middleware-0.4.2/tests/providers/azure/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_jwt_types_comprehensive.py → /auth_middleware-0.4.2/tests/providers/sqlalchemy/__init__.py +0 -0
- /auth_middleware-0.3.8/tests/test_permissions_checker_comprehensive.py → /auth_middleware-0.4.2/tests/repository/__init__.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/repository}/test_repository_settings.py +0 -0
- /auth_middleware-0.3.8/tests/test_permissions_provider_comprehensive.py → /auth_middleware-0.4.2/tests/services/__init__.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/services}/test_audit.py +0 -0
- {auth_middleware-0.3.8/tests → auth_middleware-0.4.2/tests/services}/test_metrics.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_dummy.py +0 -0
- {auth_middleware-0.3.8 → auth_middleware-0.4.2}/tests/test_jwt_auth_middleware.py +0 -0
- /auth_middleware-0.3.8/tests/test_types.py → /auth_middleware-0.4.2/tests/types/__init__.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"recommendations": [
|
|
3
|
+
// Python core
|
|
4
|
+
"ms-python.python",
|
|
5
|
+
"ms-python.vscode-pylance",
|
|
6
|
+
"ms-python.debugpy",
|
|
7
|
+
// Linting / formatting
|
|
8
|
+
"charliermarsh.ruff",
|
|
9
|
+
"ms-python.mypy-type-checker",
|
|
10
|
+
// Security
|
|
11
|
+
"SonarSource.sonarlint-vscode",
|
|
12
|
+
// Containers
|
|
13
|
+
"ms-vscode-remote.remote-containers"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
|
|
3
|
+
"python.analysis.typeCheckingMode": "basic",
|
|
4
|
+
"python.analysis.diagnosticMode": "workspace",
|
|
5
|
+
"python.analysis.diagnosticSeverityOverrides": {
|
|
6
|
+
"reportMissingParameterType": "warning",
|
|
7
|
+
"reportMissingTypeArgument": "warning",
|
|
8
|
+
"reportUnknownParameterType": "warning",
|
|
9
|
+
"reportUnknownVariableType": "information",
|
|
10
|
+
"reportUnknownMemberType": "information"
|
|
11
|
+
},
|
|
12
|
+
"mypy-type-checker.severity": {
|
|
13
|
+
"error": "Warning",
|
|
14
|
+
"note": "Information"
|
|
15
|
+
},
|
|
16
|
+
"mypy-type-checker.args": [
|
|
17
|
+
"--config-file",
|
|
18
|
+
"${workspaceFolder}/pyproject.toml"
|
|
19
|
+
],
|
|
20
|
+
"[python]": {
|
|
21
|
+
"editor.formatOnSave": true,
|
|
22
|
+
"editor.codeActionsOnSave": {
|
|
23
|
+
"source.fixAll.ruff": "explicit",
|
|
24
|
+
"source.organizeImports.ruff": "explicit"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"sonarlint.connectedMode.project": {
|
|
28
|
+
"connectionId": "local",
|
|
29
|
+
"projectKey": "auth-middleware"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
CHANGELOG
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
Version 0.4.1 (2026-05-02)
|
|
5
|
+
---------------------------
|
|
6
|
+
|
|
7
|
+
Breaking Changes
|
|
8
|
+
~~~~~~~~~~~~~~~~
|
|
9
|
+
|
|
10
|
+
**Guard helpers and checker classes** moved to a dedicated ``guards`` package.
|
|
11
|
+
The old top-level module paths have been **deleted** — they no longer exist.
|
|
12
|
+
|
|
13
|
+
OLD LOCATION (deleted) NEW LOCATION
|
|
14
|
+
----------------------------------------------- -----------------------------------------------
|
|
15
|
+
auth_middleware.functions auth_middleware.guards.functions
|
|
16
|
+
auth_middleware.group_checker auth_middleware.guards.group_checker
|
|
17
|
+
auth_middleware.role_checker auth_middleware.guards.role_checker
|
|
18
|
+
auth_middleware.permissions_checker auth_middleware.guards.permissions_checker
|
|
19
|
+
|
|
20
|
+
**Provider implementations** reorganised into technology-scoped packages.
|
|
21
|
+
All old module paths have been **deleted** — they no longer exist.
|
|
22
|
+
|
|
23
|
+
OLD LOCATION (deleted) NEW LOCATION
|
|
24
|
+
-------------------------------------------------------------- ---------------------------------------------------
|
|
25
|
+
auth_middleware.providers.authn.cognito_provider auth_middleware.providers.aws.cognito_provider
|
|
26
|
+
auth_middleware.providers.authn.cognito_authz_provider_settings auth_middleware.providers.aws.cognito_authz_provider_settings
|
|
27
|
+
auth_middleware.providers.authn.identity_pool_provider auth_middleware.providers.aws.identity_pool_provider
|
|
28
|
+
auth_middleware.providers.authn.identity_pool_client auth_middleware.providers.aws.identity_pool_client
|
|
29
|
+
auth_middleware.providers.authn.identity_pool_settings auth_middleware.providers.aws.identity_pool_settings
|
|
30
|
+
auth_middleware.providers.authn.jwt_provider_settings auth_middleware.providers.aws.jwt_provider_settings
|
|
31
|
+
auth_middleware.providers.authz.cognito_groups_provider auth_middleware.providers.aws.cognito_groups_provider
|
|
32
|
+
auth_middleware.providers.authz.cognito_groups_as_roles_provider auth_middleware.providers.aws.cognito_groups_as_roles_provider
|
|
33
|
+
auth_middleware.providers.profile.cognito_profile_provider auth_middleware.providers.aws.cognito_profile_provider
|
|
34
|
+
auth_middleware.providers.cognito (COGNITO_*_CLAIM constants) auth_middleware.providers.aws (same constants)
|
|
35
|
+
auth_middleware.providers.cognito.utils auth_middleware.providers.aws.utils
|
|
36
|
+
auth_middleware.providers.exceptions.aws_exception auth_middleware.providers.aws.aws_exception
|
|
37
|
+
auth_middleware.providers.entra_id.entra_id_provider auth_middleware.providers.azure.entra_id_provider
|
|
38
|
+
auth_middleware.providers.entra_id.settings auth_middleware.providers.azure.settings
|
|
39
|
+
auth_middleware.providers.entra_id.utils auth_middleware.providers.azure.utils
|
|
40
|
+
auth_middleware.providers.exceptions.azure_exception auth_middleware.providers.azure.azure_exception
|
|
41
|
+
auth_middleware.providers.authz.async_database auth_middleware.providers.sqlalchemy.async_database
|
|
42
|
+
auth_middleware.providers.authz.async_database_settings auth_middleware.providers.sqlalchemy.async_database_settings
|
|
43
|
+
auth_middleware.providers.authz.sql_base_model auth_middleware.providers.sqlalchemy.sql_base_model
|
|
44
|
+
auth_middleware.providers.authz.sql_groups_provider auth_middleware.providers.sqlalchemy.sql_groups_provider
|
|
45
|
+
auth_middleware.providers.authz.sql_permissions_provider auth_middleware.providers.sqlalchemy.sql_permissions_provider
|
|
46
|
+
|
|
47
|
+
Migration
|
|
48
|
+
~~~~~~~~~
|
|
49
|
+
|
|
50
|
+
Guards:
|
|
51
|
+
|
|
52
|
+
# Before (no longer works — ImportError)
|
|
53
|
+
from auth_middleware.functions import require_user, require_groups, require_roles
|
|
54
|
+
from auth_middleware.functions import require_permissions, has_groups, has_roles
|
|
55
|
+
from auth_middleware.functions import has_permissions, get_current_user
|
|
56
|
+
from auth_middleware.group_checker import GroupChecker
|
|
57
|
+
from auth_middleware.role_checker import RoleChecker
|
|
58
|
+
from auth_middleware.permissions_checker import PermissionsChecker
|
|
59
|
+
|
|
60
|
+
# After
|
|
61
|
+
from auth_middleware.guards import (
|
|
62
|
+
require_user,
|
|
63
|
+
require_groups,
|
|
64
|
+
require_roles,
|
|
65
|
+
require_permissions,
|
|
66
|
+
has_groups,
|
|
67
|
+
has_roles,
|
|
68
|
+
has_permissions,
|
|
69
|
+
get_current_user,
|
|
70
|
+
GroupChecker,
|
|
71
|
+
RoleChecker,
|
|
72
|
+
PermissionsChecker,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
Providers:
|
|
76
|
+
|
|
77
|
+
providers.authn.* → providers.aws.*
|
|
78
|
+
providers.authz.cognito_* → providers.aws.cognito_*
|
|
79
|
+
providers.authz.sql_* → providers.sqlalchemy.sql_*
|
|
80
|
+
providers.authz.async_database* → providers.sqlalchemy.async_database*
|
|
81
|
+
providers.profile.* → providers.aws.*
|
|
82
|
+
providers.cognito → providers.aws
|
|
83
|
+
providers.entra_id.* → providers.azure.*
|
|
84
|
+
providers.exceptions.aws_exception → providers.aws.aws_exception
|
|
85
|
+
providers.exceptions.azure_exception → providers.azure.azure_exception
|
|
86
|
+
|
|
87
|
+
Deleted package directories: authn/, authz/, profile/, cognito/, entra_id/, exceptions/
|
|
88
|
+
|
|
89
|
+
Other Changes
|
|
90
|
+
~~~~~~~~~~~~~
|
|
91
|
+
|
|
92
|
+
- New internal module ``auth_middleware.constants`` introduced with
|
|
93
|
+
``AUTH_SCHEME_BASIC`` and ``AUTH_SCHEME_BEARER`` constants.
|
|
94
|
+
This module is not part of the public API.
|
|
95
|
+
|
|
96
|
+
Version 0.4.0 (2026-05-01)
|
|
97
|
+
---------------------------
|
|
98
|
+
|
|
99
|
+
Breaking Changes
|
|
100
|
+
~~~~~~~~~~~~~~~~
|
|
101
|
+
|
|
102
|
+
Provider interfaces / ABCs moved to a dedicated ``contracts`` package.
|
|
103
|
+
The old module paths have been **deleted** — they no longer exist.
|
|
104
|
+
|
|
105
|
+
OLD LOCATION (deleted) NEW LOCATION
|
|
106
|
+
------------------------------------------------------- -----------------------------------------------
|
|
107
|
+
auth_middleware.providers.authn.jwt_provider auth_middleware.contracts.jwt_provider
|
|
108
|
+
auth_middleware.providers.authz.groups_provider auth_middleware.contracts.groups_provider
|
|
109
|
+
auth_middleware.providers.authz.roles_provider auth_middleware.contracts.roles_provider
|
|
110
|
+
auth_middleware.providers.authz.permissions_provider auth_middleware.contracts.permissions_provider
|
|
111
|
+
auth_middleware.providers.profile.profile_provider auth_middleware.contracts.profile_provider
|
|
112
|
+
|
|
113
|
+
Migration
|
|
114
|
+
~~~~~~~~~
|
|
115
|
+
|
|
116
|
+
Update your imports to use the new canonical paths:
|
|
117
|
+
|
|
118
|
+
# Before (no longer works — ImportError)
|
|
119
|
+
from auth_middleware.providers.authn.jwt_provider import JWTProvider
|
|
120
|
+
from auth_middleware.providers.authz.groups_provider import GroupsProvider
|
|
121
|
+
from auth_middleware.providers.authz.roles_provider import RolesProvider
|
|
122
|
+
from auth_middleware.providers.authz.permissions_provider import PermissionsProvider
|
|
123
|
+
from auth_middleware.providers.profile.profile_provider import ProfileProvider
|
|
124
|
+
|
|
125
|
+
# After
|
|
126
|
+
from auth_middleware.contracts import (
|
|
127
|
+
JWTProvider,
|
|
128
|
+
GroupsProvider,
|
|
129
|
+
RolesProvider,
|
|
130
|
+
PermissionsProvider,
|
|
131
|
+
ProfileProvider,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Or via top-level package
|
|
135
|
+
from auth_middleware import JWTProvider, GroupsProvider, RolesProvider, PermissionsProvider, ProfileProvider
|
|
136
|
+
|
|
137
|
+
Other Changes
|
|
138
|
+
~~~~~~~~~~~~~
|
|
139
|
+
|
|
140
|
+
- Provider contracts are now exported from the top-level ``auth_middleware``
|
|
141
|
+
package, making them available via ``from auth_middleware import JWTProvider``
|
|
142
|
+
etc. without knowing the internal module structure.
|
|
143
|
+
|
|
144
|
+
Version 0.3.x and earlier
|
|
145
|
+
--------------------------
|
|
146
|
+
|
|
147
|
+
See git history for previous changes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: auth-middleware
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: Async Auth Middleware for FastAPI/Starlette
|
|
5
5
|
Project-URL: Homepage, https://impalah.github.io/auth-middleware/
|
|
6
6
|
Project-URL: Documentation, https://impalah.github.io/auth-middleware/
|
{auth_middleware-0.3.8 → auth_middleware-0.4.2}/alembic/versions/de961fac6f27_initial_migration.py
RENAMED
|
@@ -5,13 +5,14 @@ Revises:
|
|
|
5
5
|
Create Date: 2024-11-22 10:59:30.889117
|
|
6
6
|
|
|
7
7
|
"""
|
|
8
|
+
|
|
8
9
|
from collections.abc import Sequence
|
|
9
10
|
|
|
10
11
|
import sqlalchemy as sa
|
|
11
12
|
from alembic import op
|
|
12
13
|
|
|
13
14
|
# revision identifiers, used by Alembic.
|
|
14
|
-
revision: str =
|
|
15
|
+
revision: str = "de961fac6f27"
|
|
15
16
|
down_revision: str | None = None
|
|
16
17
|
branch_labels: str | Sequence[str] | None = None
|
|
17
18
|
depends_on: str | Sequence[str] | None = None
|
|
@@ -19,23 +20,21 @@ depends_on: str | Sequence[str] | None = None
|
|
|
19
20
|
|
|
20
21
|
def upgrade() -> None:
|
|
21
22
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
22
|
-
op.create_table(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
op.create_table(
|
|
24
|
+
"authz_permissions",
|
|
25
|
+
sa.Column("id", sa.String(length=27), nullable=False),
|
|
26
|
+
sa.Column("username", sa.String(length=500), nullable=False),
|
|
27
|
+
sa.Column("permission", sa.String(length=100), nullable=False),
|
|
28
|
+
sa.PrimaryKeyConstraint("id"),
|
|
27
29
|
)
|
|
28
30
|
op.create_index(
|
|
29
|
-
op.f(
|
|
30
|
-
'authz_permissions',
|
|
31
|
-
['id'],
|
|
32
|
-
unique=False
|
|
31
|
+
op.f("ix_authz_permissions_id"), "authz_permissions", ["id"], unique=False
|
|
33
32
|
)
|
|
34
33
|
# ### end Alembic commands ###
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
def downgrade() -> None:
|
|
38
37
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
39
|
-
op.drop_index(op.f(
|
|
40
|
-
op.drop_table(
|
|
38
|
+
op.drop_index(op.f("ix_authz_permissions_id"), table_name="authz_permissions")
|
|
39
|
+
op.drop_table("authz_permissions")
|
|
41
40
|
# ### end Alembic commands ###
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# Sphinx build info version 1
|
|
2
2
|
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
|
|
3
|
-
config:
|
|
3
|
+
config: 6d8577a96de98559dfa27a9c106851f9
|
|
4
4
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
{auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/extending-authz-providers.doctree
RENAMED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
{auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/infrastructure/cognito-setup.doctree
RENAMED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
{auth_middleware-0.3.8 → auth_middleware-0.4.2}/docs/.doctrees/middleware-configuration.doctree
RENAMED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="../../../">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
<title>auth_middleware.contracts.groups_provider — Auth Middleware 0.4.2 documentation</title>
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=b86133f3" />
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=9edc463e" />
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<link rel="canonical" href="/auth-middleware/_modules/auth_middleware/contracts/groups_provider.html" />
|
|
14
|
+
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
|
|
15
|
+
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
|
16
|
+
<script src="../../../_static/documentation_options.js?v=ff822928"></script>
|
|
17
|
+
<script src="../../../_static/doctools.js?v=fd6eb6e6"></script>
|
|
18
|
+
<script src="../../../_static/sphinx_highlight.js?v=6ffebe34"></script>
|
|
19
|
+
<script src="../../../_static/js/theme.js"></script>
|
|
20
|
+
<link rel="index" title="Index" href="../../../genindex.html" />
|
|
21
|
+
<link rel="search" title="Search" href="../../../search.html" />
|
|
22
|
+
</head>
|
|
23
|
+
|
|
24
|
+
<body class="wy-body-for-nav">
|
|
25
|
+
<div class="wy-grid-for-nav">
|
|
26
|
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
27
|
+
<div class="wy-side-scroll">
|
|
28
|
+
<div class="wy-side-nav-search" style="background: #2980B9" >
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<a href="../../../index.html" class="icon icon-home">
|
|
33
|
+
Auth Middleware
|
|
34
|
+
</a>
|
|
35
|
+
<div role="search">
|
|
36
|
+
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
|
|
37
|
+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
38
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
39
|
+
<input type="hidden" name="area" value="default" />
|
|
40
|
+
</form>
|
|
41
|
+
</div>
|
|
42
|
+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
43
|
+
<p class="caption" role="heading"><span class="caption-text">Getting Started:</span></p>
|
|
44
|
+
<ul>
|
|
45
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
|
|
46
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../user-guide.html">User Guide</a></li>
|
|
47
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../middleware-configuration.html">Middleware Configuration</a></li>
|
|
48
|
+
</ul>
|
|
49
|
+
<p class="caption" role="heading"><span class="caption-text">Infrastructure Setup:</span></p>
|
|
50
|
+
<ul>
|
|
51
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../infrastructure.html">Infrastructure Setup</a></li>
|
|
52
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../infrastructure.html#provider-specific-setup-guides">Provider-Specific Setup Guides</a></li>
|
|
53
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../infrastructure.html#overview">Overview</a></li>
|
|
54
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../infrastructure.html#security-considerations">Security Considerations</a></li>
|
|
55
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../infrastructure.html#next-steps">Next Steps</a></li>
|
|
56
|
+
</ul>
|
|
57
|
+
<p class="caption" role="heading"><span class="caption-text">Authentication Providers:</span></p>
|
|
58
|
+
<ul>
|
|
59
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../cognito_provider.html">AWS Cognito Provider</a></li>
|
|
60
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../entra_id_provider.html">Azure Entra ID Authentication Provider</a></li>
|
|
61
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwt_auth_provider.html">JWT Authentication Provider</a></li>
|
|
62
|
+
</ul>
|
|
63
|
+
<p class="caption" role="heading"><span class="caption-text">Advanced Topics:</span></p>
|
|
64
|
+
<ul>
|
|
65
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html">Groups Provider</a></li>
|
|
66
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#overview">Overview</a></li>
|
|
67
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#built-in-providers">Built-in Providers</a></li>
|
|
68
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#using-groups-in-your-application">Using Groups in Your Application</a></li>
|
|
69
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#custom-groups-provider">Custom Groups Provider</a></li>
|
|
70
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#configuration-examples">Configuration Examples</a></li>
|
|
71
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#testing-groups-providers">Testing Groups Providers</a></li>
|
|
72
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#best-practices">Best Practices</a></li>
|
|
73
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#migration-and-deployment">Migration and Deployment</a></li>
|
|
74
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#troubleshooting">Troubleshooting</a></li>
|
|
75
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#api-reference">API Reference</a></li>
|
|
76
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../groups-provider.html#see-also">See Also</a></li>
|
|
77
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html">Permissions Provider</a></li>
|
|
78
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#overview">Overview</a></li>
|
|
79
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#built-in-providers">Built-in Providers</a></li>
|
|
80
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#using-permissions-in-your-application">Using Permissions in Your Application</a></li>
|
|
81
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#permission-patterns">Permission Patterns</a></li>
|
|
82
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#custom-permissions-provider">Custom Permissions Provider</a></li>
|
|
83
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#advanced-features">Advanced Features</a></li>
|
|
84
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#permission-management">Permission Management</a></li>
|
|
85
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#testing-permissions-providers">Testing Permissions Providers</a></li>
|
|
86
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#best-practices">Best Practices</a></li>
|
|
87
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#troubleshooting">Troubleshooting</a></li>
|
|
88
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#api-reference">API Reference</a></li>
|
|
89
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../permissions-provider.html#see-also">See Also</a></li>
|
|
90
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html">Extending Authorization Providers</a></li>
|
|
91
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#overview">Overview</a></li>
|
|
92
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#understanding-the-provider-interface">Understanding the Provider Interface</a></li>
|
|
93
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#integration-patterns">Integration Patterns</a></li>
|
|
94
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#advanced-patterns">Advanced Patterns</a></li>
|
|
95
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#caching-and-performance">Caching and Performance</a></li>
|
|
96
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#error-handling-and-resilience">Error Handling and Resilience</a></li>
|
|
97
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#testing-custom-providers">Testing Custom Providers</a></li>
|
|
98
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#deployment-considerations">Deployment Considerations</a></li>
|
|
99
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#best-practices-summary">Best Practices Summary</a></li>
|
|
100
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../extending-authz-providers.html#see-also">See Also</a></li>
|
|
101
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../user-property.html">The User Property</a></li>
|
|
102
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../auth-authn.html">Control Authentication and Authorization</a></li>
|
|
103
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html">Services Module</a></li>
|
|
104
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#m2m-token-detection">M2M Token Detection</a></li>
|
|
105
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#rate-limiting">Rate Limiting</a></li>
|
|
106
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#audit-logging">Audit Logging</a></li>
|
|
107
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#metrics-collection">Metrics Collection</a></li>
|
|
108
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#best-practices">Best Practices</a></li>
|
|
109
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../services.html#see-also">See Also</a></li>
|
|
110
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html">JWKS Cache Strategies</a></li>
|
|
111
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#cache-strategies">Cache Strategies</a></li>
|
|
112
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#background-refresh">Background Refresh</a></li>
|
|
113
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#configuration-examples">Configuration Examples</a></li>
|
|
114
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#monitoring-cache-performance">Monitoring Cache Performance</a></li>
|
|
115
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#best-practices">Best Practices</a></li>
|
|
116
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#troubleshooting">Troubleshooting</a></li>
|
|
117
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#performance-comparison">Performance Comparison</a></li>
|
|
118
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwks-cache.html#see-also">See Also</a></li>
|
|
119
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../jwt_bearer_manager.html">jwt_bearer_manager</a></li>
|
|
120
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../exceptions.html">Exception Handling</a></li>
|
|
121
|
+
</ul>
|
|
122
|
+
<p class="caption" role="heading"><span class="caption-text">API Reference:</span></p>
|
|
123
|
+
<ul>
|
|
124
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../api.html">API Reference</a></li>
|
|
125
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../types.html">Type Definitions</a></li>
|
|
126
|
+
<li class="toctree-l1"><a class="reference internal" href="../../../functions.html">Authentication Functions</a></li>
|
|
127
|
+
</ul>
|
|
128
|
+
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</nav>
|
|
132
|
+
|
|
133
|
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #2980B9" >
|
|
134
|
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
135
|
+
<a href="../../../index.html">Auth Middleware</a>
|
|
136
|
+
</nav>
|
|
137
|
+
|
|
138
|
+
<div class="wy-nav-content">
|
|
139
|
+
<div class="rst-content">
|
|
140
|
+
<div role="navigation" aria-label="Page navigation">
|
|
141
|
+
<ul class="wy-breadcrumbs">
|
|
142
|
+
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
|
143
|
+
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
|
|
144
|
+
<li class="breadcrumb-item active">auth_middleware.contracts.groups_provider</li>
|
|
145
|
+
<li class="wy-breadcrumbs-aside">
|
|
146
|
+
</li>
|
|
147
|
+
</ul>
|
|
148
|
+
<hr/>
|
|
149
|
+
</div>
|
|
150
|
+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
151
|
+
<div itemprop="articleBody">
|
|
152
|
+
|
|
153
|
+
<h1>Source code for auth_middleware.contracts.groups_provider</h1><div class="highlight"><pre>
|
|
154
|
+
<span></span><span class="kn">from</span><span class="w"> </span><span class="nn">abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">ABCMeta</span><span class="p">,</span> <span class="n">abstractmethod</span>
|
|
155
|
+
|
|
156
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">auth_middleware.types.jwt</span><span class="w"> </span><span class="kn">import</span> <span class="n">JWTAuthorizationCredentials</span>
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
<div class="viewcode-block" id="GroupsProvider">
|
|
160
|
+
<a class="viewcode-back" href="../../../groups-provider.html#auth_middleware.contracts.groups_provider.GroupsProvider">[docs]</a>
|
|
161
|
+
<span class="k">class</span><span class="w"> </span><span class="nc">GroupsProvider</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">ABCMeta</span><span class="p">):</span>
|
|
162
|
+
<span class="w"> </span><span class="sd">"""Abstract contract for a groups provider.</span>
|
|
163
|
+
|
|
164
|
+
<span class="sd"> Implementations must return the list of groups the authenticated user</span>
|
|
165
|
+
<span class="sd"> belongs to, given either a raw token string or a parsed</span>
|
|
166
|
+
<span class="sd"> ``JWTAuthorizationCredentials`` object.</span>
|
|
167
|
+
<span class="sd"> """</span>
|
|
168
|
+
|
|
169
|
+
<div class="viewcode-block" id="GroupsProvider.fetch_groups">
|
|
170
|
+
<a class="viewcode-back" href="../../../groups-provider.html#auth_middleware.contracts.groups_provider.GroupsProvider.fetch_groups">[docs]</a>
|
|
171
|
+
<span class="nd">@abstractmethod</span>
|
|
172
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">fetch_groups</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">token</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">JWTAuthorizationCredentials</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
|
|
173
|
+
<span class="w"> </span><span class="sd">"""Return the groups for the authenticated user.</span>
|
|
174
|
+
|
|
175
|
+
<span class="sd"> Args:</span>
|
|
176
|
+
<span class="sd"> token: The token containing the claims, either as a raw string</span>
|
|
177
|
+
<span class="sd"> or a parsed ``JWTAuthorizationCredentials`` object.</span>
|
|
178
|
+
|
|
179
|
+
<span class="sd"> Returns:</span>
|
|
180
|
+
<span class="sd"> List of group name strings (may be empty).</span>
|
|
181
|
+
<span class="sd"> """</span>
|
|
182
|
+
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"This method should be overridden by subclasses"</span><span class="p">)</span></div>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
</pre></div>
|
|
186
|
+
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
<footer>
|
|
190
|
+
|
|
191
|
+
<hr/>
|
|
192
|
+
|
|
193
|
+
<div role="contentinfo">
|
|
194
|
+
<p>© Copyright 2025, impalah.</p>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
198
|
+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
199
|
+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
</footer>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
</section>
|
|
206
|
+
</div>
|
|
207
|
+
<script>
|
|
208
|
+
jQuery(function () {
|
|
209
|
+
SphinxRtdTheme.Navigation.enable(true);
|
|
210
|
+
});
|
|
211
|
+
</script>
|
|
212
|
+
|
|
213
|
+
</body>
|
|
214
|
+
</html>
|