auth-middleware 0.4.2__tar.gz → 0.4.3__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.
Files changed (383) hide show
  1. auth_middleware-0.4.3/PKG-INFO +396 -0
  2. auth_middleware-0.4.3/README.md +362 -0
  3. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.buildinfo +1 -1
  4. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/environment.pickle +0 -0
  5. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/contracts/groups_provider.html +2 -2
  6. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/contracts/jwt_provider.html +2 -2
  7. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/contracts/permissions_provider.html +2 -2
  8. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/authentication_error.html +2 -2
  9. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/invalid_authorization_exception.html +2 -2
  10. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/invalid_credentials_exception.html +2 -2
  11. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/invalid_token_exception.html +2 -2
  12. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/password_policy_error.html +2 -2
  13. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/user_not_found_error.html +2 -2
  14. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/guards/functions.html +2 -2
  15. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/guards/group_checker.html +2 -2
  16. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/guards/permissions_checker.html +2 -2
  17. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/guards/role_checker.html +2 -2
  18. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/jwt_auth_middleware.html +2 -2
  19. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/jwt_bearer_manager.html +2 -2
  20. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/aws/cognito_authz_provider_settings.html +2 -2
  21. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/aws/cognito_exceptions.html +2 -2
  22. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/aws/cognito_groups_provider.html +2 -2
  23. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/aws/cognito_provider.html +2 -2
  24. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/aws/jwt_provider_settings.html +2 -2
  25. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/azure/entra_id_provider.html +2 -2
  26. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/azure/settings.html +2 -2
  27. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/sqlalchemy/sql_groups_provider.html +2 -2
  28. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/sqlalchemy/sql_permissions_provider.html +2 -2
  29. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/index.html +2 -2
  30. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/documentation_options.js +1 -1
  31. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/api.html +2 -2
  32. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/auth-authn.html +2 -2
  33. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/cognito_provider.html +2 -2
  34. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/entra_id_provider.html +2 -2
  35. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/exceptions.html +2 -2
  36. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/extending-authz-providers.html +2 -2
  37. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/functions.html +2 -2
  38. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/genindex.html +2 -2
  39. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/groups-provider.html +2 -2
  40. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/index.html +2 -2
  41. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/infrastructure/cognito-setup.html +2 -2
  42. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/infrastructure/entra-id-setup.html +2 -2
  43. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/infrastructure/google-setup.html +2 -2
  44. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/infrastructure.html +2 -2
  45. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/installation.html +2 -2
  46. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/jwks-cache.html +2 -2
  47. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/jwt_auth_middleware.html +2 -2
  48. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/jwt_auth_provider.html +2 -2
  49. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/jwt_bearer_manager.html +2 -2
  50. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/middleware-configuration.html +2 -2
  51. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/objects.inv +0 -0
  52. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/permissions-provider.html +2 -2
  53. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/py-modindex.html +2 -2
  54. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/search.html +2 -2
  55. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/services.html +2 -2
  56. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/types.html +2 -2
  57. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/user-guide.html +2 -2
  58. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/user-property.html +2 -2
  59. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/conf.py +1 -1
  60. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/pyproject.toml +1 -1
  61. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/__init__.py +1 -1
  62. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/uv.lock +1 -1
  63. auth_middleware-0.4.2/PKG-INFO +0 -396
  64. auth_middleware-0.4.2/README.md +0 -362
  65. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.coveragerc +0 -0
  66. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/.bashrc +0 -0
  67. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/Dockerfile +0 -0
  68. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/QUICKSTART.md +0 -0
  69. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/README.md +0 -0
  70. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/devcontainer.json +0 -0
  71. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/start.sh +0 -0
  72. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/uv.toml +0 -0
  73. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.devcontainer/verify-setup.sh +0 -0
  74. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.flake8 +0 -0
  75. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.github/workflows/release.yml +0 -0
  76. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.gitignore +0 -0
  77. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.python-version +0 -0
  78. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.sonarlint/connectedMode.json +0 -0
  79. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.vscode/extensions.json +0 -0
  80. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.vscode/launch.json +0 -0
  81. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/.vscode/settings.json +0 -0
  82. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/CHANGELOG.txt +0 -0
  83. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/LICENSE +0 -0
  84. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/alembic/README +0 -0
  85. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/alembic/env.py +0 -0
  86. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/alembic/script.py.mako +0 -0
  87. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/alembic/versions/de961fac6f27_initial_migration.py +0 -0
  88. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/alembic.ini +0 -0
  89. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.buildinfo.bak +0 -0
  90. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/__intersphinx_cache__/fastapi_objects.inv +0 -0
  91. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/__intersphinx_cache__/python_objects.inv +0 -0
  92. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/api.doctree +0 -0
  93. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/auth-authn.doctree +0 -0
  94. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/cognito_provider.doctree +0 -0
  95. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/entra_id_provider.doctree +0 -0
  96. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/exceptions.doctree +0 -0
  97. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/extending-authz-providers.doctree +0 -0
  98. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/functions.doctree +0 -0
  99. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/groups-provider.doctree +0 -0
  100. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/index.doctree +0 -0
  101. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/infrastructure/cognito-setup.doctree +0 -0
  102. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/infrastructure/entra-id-setup.doctree +0 -0
  103. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/infrastructure/google-setup.doctree +0 -0
  104. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/infrastructure.doctree +0 -0
  105. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/installation.doctree +0 -0
  106. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/jwks-cache.doctree +0 -0
  107. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/jwt_auth_middleware.doctree +0 -0
  108. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/jwt_auth_provider.doctree +0 -0
  109. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/jwt_bearer_manager.doctree +0 -0
  110. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/middleware-configuration.doctree +0 -0
  111. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/permissions-provider.doctree +0 -0
  112. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/services.doctree +0 -0
  113. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/types.doctree +0 -0
  114. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/user-guide.doctree +0 -0
  115. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.doctrees/user-property.doctree +0 -0
  116. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.keep +0 -0
  117. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/.nojekyll +0 -0
  118. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/exceptions/cognito_exceptions.html +0 -0
  119. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/functions.html +0 -0
  120. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authn/cognito_authz_provider_settings.html +0 -0
  121. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authn/cognito_provider.html +0 -0
  122. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authn/jwt_provider.html +0 -0
  123. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authn/jwt_provider_settings.html +0 -0
  124. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authz/cognito_groups_provider.html +0 -0
  125. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authz/groups_provider.html +0 -0
  126. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authz/permissions_provider.html +0 -0
  127. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authz/sql_groups_provider.html +0 -0
  128. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_modules/auth_middleware/providers/authz/sql_permissions_provider.html +0 -0
  129. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/api.rst.txt +0 -0
  130. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/auth-authn.rst.txt +0 -0
  131. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/cognito_provider.rst.txt +0 -0
  132. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/entra_id_provider.rst.txt +0 -0
  133. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/exceptions.rst.txt +0 -0
  134. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/extending-authz-providers.rst.txt +0 -0
  135. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/functions.rst.txt +0 -0
  136. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/groups-provider.rst.txt +0 -0
  137. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/index.rst.txt +0 -0
  138. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/infrastructure/cognito-setup.rst.txt +0 -0
  139. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/infrastructure/entra-id-setup.rst.txt +0 -0
  140. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/infrastructure/google-setup.rst.txt +0 -0
  141. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/infrastructure.rst.txt +0 -0
  142. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/installation.rst.txt +0 -0
  143. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/jwks-cache.rst.txt +0 -0
  144. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/jwt_auth_middleware.rst.txt +0 -0
  145. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/jwt_auth_provider.rst.txt +0 -0
  146. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/jwt_bearer_manager.rst.txt +0 -0
  147. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/middleware-configuration.rst.txt +0 -0
  148. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/permissions-provider.rst.txt +0 -0
  149. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/services.rst.txt +0 -0
  150. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/types.rst.txt +0 -0
  151. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/user-guide.rst.txt +0 -0
  152. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_sources/user-property.rst.txt +0 -0
  153. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  154. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/base-stemmer.js +0 -0
  155. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/basic.css +0 -0
  156. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/badge_only.css +0 -0
  157. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  158. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  159. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  160. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  161. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/fontawesome-webfont.eot +0 -0
  162. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/fontawesome-webfont.svg +0 -0
  163. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  164. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/fontawesome-webfont.woff +0 -0
  165. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  166. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-bold-italic.woff +0 -0
  167. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  168. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-bold.woff +0 -0
  169. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-bold.woff2 +0 -0
  170. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-normal-italic.woff +0 -0
  171. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  172. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-normal.woff +0 -0
  173. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/fonts/lato-normal.woff2 +0 -0
  174. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/css/theme.css +0 -0
  175. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/doctools.js +0 -0
  176. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/english-stemmer.js +0 -0
  177. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/file.png +0 -0
  178. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bold.eot +0 -0
  179. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bold.ttf +0 -0
  180. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bold.woff +0 -0
  181. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bold.woff2 +0 -0
  182. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  183. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  184. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  185. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  186. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-italic.eot +0 -0
  187. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-italic.ttf +0 -0
  188. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-italic.woff +0 -0
  189. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-italic.woff2 +0 -0
  190. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-regular.eot +0 -0
  191. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-regular.ttf +0 -0
  192. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-regular.woff +0 -0
  193. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/Lato/lato-regular.woff2 +0 -0
  194. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  195. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  196. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  197. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  198. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  199. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  200. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  201. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  202. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/jquery.js +0 -0
  203. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/js/badge_only.js +0 -0
  204. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/js/html5shiv-printshiv.min.js +0 -0
  205. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/js/html5shiv.min.js +0 -0
  206. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/js/theme.js +0 -0
  207. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/js/versions.js +0 -0
  208. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/language_data.js +0 -0
  209. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/minus.png +0 -0
  210. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/plus.png +0 -0
  211. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/pygments.css +0 -0
  212. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/searchtools.js +0 -0
  213. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/_static/sphinx_highlight.js +0 -0
  214. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs/searchindex.js +0 -0
  215. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/Makefile +0 -0
  216. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/api.rst +0 -0
  217. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/auth-authn.rst +0 -0
  218. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/cognito_provider.rst +0 -0
  219. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/entra_id_provider.rst +0 -0
  220. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/exceptions.rst +0 -0
  221. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/extending-authz-providers.rst +0 -0
  222. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/functions.rst +0 -0
  223. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/groups-provider.rst +0 -0
  224. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/index.rst +0 -0
  225. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/infrastructure/cognito-setup.rst +0 -0
  226. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/infrastructure/entra-id-setup.rst +0 -0
  227. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/infrastructure/google-setup.rst +0 -0
  228. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/infrastructure.rst +0 -0
  229. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/installation.rst +0 -0
  230. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/jwks-cache.rst +0 -0
  231. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/jwt_auth_middleware.rst +0 -0
  232. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/jwt_auth_provider.rst +0 -0
  233. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/jwt_bearer_manager.rst +0 -0
  234. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/make.bat +0 -0
  235. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/middleware-configuration.rst +0 -0
  236. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/permissions-provider.rst +0 -0
  237. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/services.rst +0 -0
  238. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/types.rst +0 -0
  239. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/user-guide.rst +0 -0
  240. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/docs_source/user-property.rst +0 -0
  241. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/__init__.py +0 -0
  242. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/audit_example.py +0 -0
  243. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/auth_examples.py +0 -0
  244. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/jwks_cache_example.py +0 -0
  245. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/m2m_detection_example.py +0 -0
  246. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/metrics_example.py +0 -0
  247. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/examples/rate_limiting_example.py +0 -0
  248. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/makefile +0 -0
  249. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/scripts/README.md +0 -0
  250. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/scripts/update_version.py +0 -0
  251. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/sonar-project.properties +0 -0
  252. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/auth_provider.py +0 -0
  253. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/basic_auth_middleware.py +0 -0
  254. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/cli.py +0 -0
  255. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/commands/__init__.py +0 -0
  256. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/constants.py +0 -0
  257. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/__init__.py +0 -0
  258. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/credentials_repository.py +0 -0
  259. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/groups_provider.py +0 -0
  260. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/jwt_provider.py +0 -0
  261. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/permissions_provider.py +0 -0
  262. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/profile_provider.py +0 -0
  263. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/contracts/roles_provider.py +0 -0
  264. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/__init__.py +0 -0
  265. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/authentication_error.py +0 -0
  266. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/invalid_authorization_exception.py +0 -0
  267. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/invalid_credentials_exception.py +0 -0
  268. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/invalid_token_exception.py +0 -0
  269. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/password_policy_error.py +0 -0
  270. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/exceptions/user_not_found_error.py +0 -0
  271. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/guards/__init__.py +0 -0
  272. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/guards/functions.py +0 -0
  273. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/guards/group_checker.py +0 -0
  274. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/guards/permissions_checker.py +0 -0
  275. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/guards/role_checker.py +0 -0
  276. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/jwt_auth_middleware.py +0 -0
  277. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/jwt_bearer_manager.py +0 -0
  278. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/logging.py +0 -0
  279. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/__init__.py +0 -0
  280. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/__init__.py +0 -0
  281. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/aws_credentials.py +0 -0
  282. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/aws_exception.py +0 -0
  283. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_authz_provider_settings.py +0 -0
  284. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_exceptions.py +0 -0
  285. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_groups_as_roles_provider.py +0 -0
  286. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_groups_provider.py +0 -0
  287. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_profile_provider.py +0 -0
  288. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/cognito_provider.py +0 -0
  289. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/identity_pool_client.py +0 -0
  290. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/identity_pool_provider.py +0 -0
  291. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/identity_pool_settings.py +0 -0
  292. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/jwt_provider_settings.py +0 -0
  293. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/services/__init__.py +0 -0
  294. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/services/cognito_auth_models.py +0 -0
  295. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/services/cognito_auth_service.py +0 -0
  296. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/services/m2m_detector.py +0 -0
  297. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/aws/utils.py +0 -0
  298. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/azure/__init__.py +0 -0
  299. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/azure/azure_exception.py +0 -0
  300. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/azure/entra_id_provider.py +0 -0
  301. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/azure/settings.py +0 -0
  302. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/azure/utils.py +0 -0
  303. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/__init__.py +0 -0
  304. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/async_database.py +0 -0
  305. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/async_database_settings.py +0 -0
  306. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/sql_base_model.py +0 -0
  307. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/sql_groups_provider.py +0 -0
  308. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/providers/sqlalchemy/sql_permissions_provider.py +0 -0
  309. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/repository/__init__.py +0 -0
  310. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/repository/json_credentials_repository.py +0 -0
  311. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/repository/settings.py +0 -0
  312. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/services/__init__.py +0 -0
  313. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/services/audit.py +0 -0
  314. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/services/metrics.py +0 -0
  315. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/services/rate_limiter.py +0 -0
  316. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/settings.py +0 -0
  317. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/types/__init__.py +0 -0
  318. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/types/jwt.py +0 -0
  319. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/types/user.py +0 -0
  320. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/src/auth_middleware/types/user_credentials.py +0 -0
  321. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/0.APITesting/_Auth/(No) Get Id Token.bru +0 -0
  322. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/0.APITesting/_Auth/Get Token (client credentials).bru +0 -0
  323. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/0.APITesting/_Auth/Login.bru +0 -0
  324. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/0.APITesting/bruno.json +0 -0
  325. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/0.APITesting/environments/Development.bru +0 -0
  326. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/__init__.py +0 -0
  327. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/commands/__init__.py +0 -0
  328. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/commands/test_cli.py +0 -0
  329. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/conftest.py +0 -0
  330. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/__init__.py +0 -0
  331. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_abstract_stubs.py +0 -0
  332. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_auth_provider.py +0 -0
  333. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_groups_provider.py +0 -0
  334. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_jwt_provider.py +0 -0
  335. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_jwt_provider_settings.py +0 -0
  336. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/contracts/test_permissions_provider.py +0 -0
  337. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/exceptions/__init__.py +0 -0
  338. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/exceptions/test_exceptions.py +0 -0
  339. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/guards/__init__.py +0 -0
  340. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/guards/test_functions.py +0 -0
  341. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/guards/test_group_checker.py +0 -0
  342. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/guards/test_permissions_checker.py +0 -0
  343. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/guards/test_role_checker.py +0 -0
  344. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/__init__.py +0 -0
  345. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/__init__.py +0 -0
  346. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_aws_credentials.py +0 -0
  347. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_auth_service.py +0 -0
  348. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_groups_as_roles_provider.py +0 -0
  349. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_profile_provider.py +0 -0
  350. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_provider.py +0 -0
  351. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_provider_clean.py +0 -0
  352. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_cognito_utils.py +0 -0
  353. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_identity_pool_client.py +0 -0
  354. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_identity_pool_provider.py +0 -0
  355. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_identity_pool_settings.py +0 -0
  356. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_jwks_cache_improvements.py +0 -0
  357. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/aws/test_m2m_detector.py +0 -0
  358. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/azure/__init__.py +0 -0
  359. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/azure/test_entra_id_init.py +0 -0
  360. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/azure/test_entra_id_provider.py +0 -0
  361. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/azure/test_entra_id_settings.py +0 -0
  362. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/azure/test_entra_id_utils.py +0 -0
  363. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/sqlalchemy/__init__.py +0 -0
  364. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/sqlalchemy/test_async_database.py +0 -0
  365. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/sqlalchemy/test_sql_groups_provider.py +0 -0
  366. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/providers/sqlalchemy/test_sql_permissions_provider.py +0 -0
  367. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/repository/__init__.py +0 -0
  368. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/repository/test_json_credentials_repository.py +0 -0
  369. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/repository/test_repository_settings.py +0 -0
  370. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/services/__init__.py +0 -0
  371. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/services/test_audit.py +0 -0
  372. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/services/test_metrics.py +0 -0
  373. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/services/test_rate_limiter.py +0 -0
  374. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_basic_auth_middleware.py +0 -0
  375. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_basic_auth_middleware_clean.py +0 -0
  376. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_dummy.py +0 -0
  377. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_jwt_auth_middleware.py +0 -0
  378. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_jwt_bearer_manager.py +0 -0
  379. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/test_logging.py +0 -0
  380. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/types/__init__.py +0 -0
  381. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/types/test_jwt_types.py +0 -0
  382. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/types/test_types.py +0 -0
  383. {auth_middleware-0.4.2 → auth_middleware-0.4.3}/tests/types/test_user_m2m.py +0 -0
@@ -0,0 +1,396 @@
1
+ Metadata-Version: 2.4
2
+ Name: auth-middleware
3
+ Version: 0.4.3
4
+ Summary: Async Auth Middleware for FastAPI/Starlette
5
+ Project-URL: Homepage, https://impalah.github.io/auth-middleware/
6
+ Project-URL: Documentation, https://impalah.github.io/auth-middleware/
7
+ Project-URL: Repository, https://github.com/impalah/auth-middleware
8
+ Project-URL: Source, https://github.com/impalah/auth-middleware
9
+ Author-email: impalah <impalah@gmail.com>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: auth,fastapi,middleware,starlette
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Framework :: FastAPI
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
20
+ Requires-Python: >=3.14
21
+ Requires-Dist: aiomysql>=0.3.2
22
+ Requires-Dist: asyncpg>=0.31.0
23
+ Requires-Dist: click>=8.3.1
24
+ Requires-Dist: fastapi>=0.128.0
25
+ Requires-Dist: httpx>=0.28.1
26
+ Requires-Dist: joserfc>=1.6.3
27
+ Requires-Dist: loguru>=0.7.3
28
+ Requires-Dist: pydantic-settings>=2.12.0
29
+ Requires-Dist: pydantic[email]>=2.12.5
30
+ Requires-Dist: python-dotenv>=1.2.1
31
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.46
32
+ Requires-Dist: svix-ksuid>=0.6.2
33
+ Description-Content-Type: text/markdown
34
+
35
+ # Auth Middleware
36
+
37
+ [![PyPI version](https://badge.fury.io/py/auth-middleware.svg)](https://badge.fury.io/py/auth-middleware)
38
+ [![Python 3.14+](https://img.shields.io/badge/python-3.14+-blue.svg)](https://www.python.org/downloads/)
39
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
40
+ [![Coverage](https://img.shields.io/badge/coverage-83%25-green.svg)](https://github.com/impalah/auth-middleware)
41
+
42
+ **Async Authentication and Authorization Middleware for FastAPI/Starlette Applications**
43
+
44
+ Auth Middleware is a comprehensive, production-ready authentication and authorization solution for FastAPI and Starlette applications. It provides a pluggable architecture that supports multiple identity providers and authorization backends with async-first design principles.
45
+
46
+ ## Features
47
+
48
+ ### **Authentication Providers**
49
+
50
+ - **AWS Cognito** — Full integration with Amazon Cognito User Pools
51
+ - **AWS Cognito Identity Pool** — Exchange User Pool tokens for temporary AWS credentials
52
+ - **Azure Entra ID** — Microsoft Azure Active Directory authentication
53
+ - **Generic JWT** — Support for any JWT-based identity provider
54
+ - **Basic Auth** — Username/password authentication via `BasicAuthMiddleware`
55
+ - **Custom Providers** — Extensible architecture via the `JWTProvider` contract
56
+
57
+ ### **Authorization & Access Control**
58
+
59
+ - **Group-based Authorization** — Role-based access control with user groups
60
+ - **Role-based Authorization** — Fine-grained role system
61
+ - **Permission-based Authorization** — Fine-grained permission system
62
+ - **SQL Backend Support** — PostgreSQL and MySQL for groups/permissions storage via SQLAlchemy
63
+ - **Cognito Groups Integration** — Direct integration with AWS Cognito groups (`cognito:groups` claim)
64
+ - **Cognito Groups-as-Roles** — Map Cognito groups directly to roles
65
+ - **Custom Authorization Providers** — Build your own via the `GroupsProvider`, `RolesProvider` and `PermissionsProvider` contracts
66
+
67
+ ### **Performance & Reliability**
68
+
69
+ - **Async-First Design** — Built for high-performance async applications
70
+ - **JWKS Caching** — Intelligent caching of JSON Web Key Sets
71
+ - **Connection Pooling** — Efficient database and HTTP connections
72
+ - **Lazy Loading** — User groups and permissions loaded on-demand
73
+ - **Error Resilience** — Graceful degradation on provider failures
74
+
75
+ ### **Developer Experience**
76
+
77
+ - **Type-Safe** — Full type hints throughout, compatible with mypy strict mode
78
+ - **FastAPI Integration** — Native dependency injection support
79
+ - **Middleware Pattern** — Standard ASGI middleware implementation
80
+ - **Environment Configuration** — 12-factor app configuration support
81
+ - **Comprehensive Documentation** — Detailed guides and API reference
82
+
83
+ ## Installation
84
+
85
+ ```bash
86
+ # pip
87
+ pip install auth-middleware
88
+
89
+ # poetry
90
+ poetry add auth-middleware
91
+
92
+ # uv (recommended)
93
+ uv add auth-middleware
94
+ ```
95
+
96
+ ## Quick Start
97
+
98
+ ### JWT Authentication with AWS Cognito
99
+
100
+ ```python
101
+ from fastapi import FastAPI, Depends, Request
102
+ from auth_middleware import JwtAuthMiddleware
103
+ from auth_middleware.guards import require_user, require_groups
104
+ from auth_middleware.providers.aws.cognito_provider import CognitoProvider
105
+ from auth_middleware.providers.aws.cognito_authz_provider_settings import CognitoAuthzProviderSettings
106
+
107
+ app = FastAPI()
108
+
109
+ auth_settings = CognitoAuthzProviderSettings(
110
+ user_pool_id="us-east-1_abcdef123",
111
+ user_pool_region="us-east-1",
112
+ jwt_token_verification_disabled=False,
113
+ )
114
+
115
+ app.add_middleware(
116
+ JwtAuthMiddleware,
117
+ auth_provider=CognitoProvider(settings=auth_settings),
118
+ )
119
+
120
+ # Requires valid authentication
121
+ @app.get("/protected", dependencies=[Depends(require_user())])
122
+ async def protected_endpoint(request: Request):
123
+ user = request.state.current_user
124
+ return {"message": f"Hello {user.name}", "user_id": user.id}
125
+
126
+ # Requires group membership
127
+ @app.get("/admin", dependencies=[Depends(require_groups(["admin", "moderator"]))])
128
+ async def admin_endpoint(request: Request):
129
+ return {"message": "Admin access granted"}
130
+ ```
131
+
132
+ ### Azure Entra ID
133
+
134
+ Set the required environment variables (read at module load time):
135
+
136
+ ```bash
137
+ AUTH_PROVIDER_AZURE_ENTRA_ID_TENANT_ID=your-tenant-id
138
+ AUTH_PROVIDER_AZURE_ENTRA_ID_AUDIENCE_ID=your-app-client-id
139
+ ```
140
+
141
+ ```python
142
+ from auth_middleware import JwtAuthMiddleware
143
+ from auth_middleware.providers.azure.entra_id_provider import EntraIDProvider
144
+
145
+ app.add_middleware(
146
+ JwtAuthMiddleware,
147
+ auth_provider=EntraIDProvider(),
148
+ )
149
+ ```
150
+
151
+ ### Basic Auth
152
+
153
+ ```python
154
+ from auth_middleware import BasicAuthMiddleware
155
+ from auth_middleware.contracts import CredentialsRepository
156
+
157
+ class MyCredentialsRepository(CredentialsRepository):
158
+ async def get_credentials(self, username: str):
159
+ # Return stored credentials for the given username
160
+ ...
161
+
162
+ app.add_middleware(
163
+ BasicAuthMiddleware,
164
+ credentials_repository=MyCredentialsRepository(),
165
+ )
166
+ ```
167
+
168
+ ## Configuration
169
+
170
+ ### Environment Variables
171
+
172
+ ```bash
173
+ # Core middleware — always read from environment
174
+ AUTH_MIDDLEWARE_DISABLED=false
175
+ AUTH_MIDDLEWARE_LOG_LEVEL=INFO
176
+
177
+ # Azure Entra ID — always read from environment at module load (required when using EntraIDProvider)
178
+ AUTH_PROVIDER_AZURE_ENTRA_ID_TENANT_ID=your-tenant-id
179
+ AUTH_PROVIDER_AZURE_ENTRA_ID_AUDIENCE_ID=your-client-id
180
+
181
+ # AWS Cognito — optional; alternative to passing values programmatically to CognitoAuthzProviderSettings
182
+ # USER_POOL_ID=us-east-1_abcdef123
183
+ # USER_POOL_REGION=us-east-1
184
+ # JWKS_CACHE_INTERVAL=20 # minutes, default 20
185
+ # JWKS_CACHE_USAGES=1000 # verifications before refresh, default 1000
186
+ ```
187
+
188
+ ### SQL-backed Groups and Permissions
189
+
190
+ ```python
191
+ from auth_middleware.providers.aws.cognito_provider import CognitoProvider
192
+ from auth_middleware.providers.sqlalchemy.sql_groups_provider import SqlGroupsProvider
193
+ from auth_middleware.providers.sqlalchemy.sql_permissions_provider import SqlPermissionsProvider
194
+ from auth_middleware.providers.sqlalchemy.async_database import AsyncDatabase
195
+ from auth_middleware.providers.sqlalchemy.async_database_settings import AsyncDatabaseSettings
196
+
197
+ AsyncDatabase.configure(AsyncDatabaseSettings(
198
+ database_url="postgresql+asyncpg://user:pass@localhost/mydb"
199
+ ))
200
+
201
+ auth_provider = CognitoProvider(
202
+ settings=auth_settings,
203
+ groups_provider=SqlGroupsProvider(),
204
+ permissions_provider=SqlPermissionsProvider(),
205
+ )
206
+
207
+ app.add_middleware(JwtAuthMiddleware, auth_provider=auth_provider)
208
+ ```
209
+
210
+ ### Cognito Groups Provider
211
+
212
+ ```python
213
+ from auth_middleware.providers.aws.cognito_provider import CognitoProvider
214
+ from auth_middleware.providers.aws.cognito_groups_provider import CognitoGroupsProvider
215
+
216
+ # Groups extracted directly from the cognito:groups JWT claim
217
+ auth_provider = CognitoProvider(
218
+ settings=auth_settings,
219
+ groups_provider=CognitoGroupsProvider,
220
+ )
221
+ ```
222
+
223
+ ## Usage Examples
224
+
225
+ ### Accessing User Information
226
+
227
+ ```python
228
+ @app.get("/profile", dependencies=[Depends(require_user())])
229
+ async def get_profile(request: Request):
230
+ user = request.state.current_user
231
+ return {
232
+ "id": user.id,
233
+ "name": user.name,
234
+ "email": user.email,
235
+ "groups": await user.groups,
236
+ "permissions": await user.permissions,
237
+ }
238
+ ```
239
+
240
+ ### Role and Permission Guards
241
+
242
+ ```python
243
+ from auth_middleware.guards import require_roles, require_permissions
244
+
245
+ @app.get("/reports", dependencies=[Depends(require_roles(["analyst", "manager"]))])
246
+ async def get_reports(request: Request):
247
+ return {"message": "Reports access granted"}
248
+
249
+ @app.post("/admin/users", dependencies=[Depends(require_permissions(["user.create"]))])
250
+ async def create_user(request: Request):
251
+ return {"message": "User creation allowed"}
252
+ ```
253
+
254
+ ### curl
255
+
256
+ ```bash
257
+ curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
258
+ http://localhost:8000/protected
259
+ ```
260
+
261
+ ## Package Structure
262
+
263
+ ```
264
+ auth_middleware/
265
+ ├── jwt_auth_middleware.py # JwtAuthMiddleware (ASGI)
266
+ ├── basic_auth_middleware.py # BasicAuthMiddleware (ASGI)
267
+ ├── constants.py # AUTH_SCHEME_BASIC, AUTH_SCHEME_BEARER
268
+ ├── contracts/ # Abstract base classes
269
+ │ ├── jwt_provider.py # JWTProvider
270
+ │ ├── groups_provider.py # GroupsProvider
271
+ │ ├── roles_provider.py # RolesProvider
272
+ │ ├── permissions_provider.py # PermissionsProvider
273
+ │ ├── profile_provider.py # ProfileProvider
274
+ │ └── credentials_repository.py # CredentialsRepository
275
+ ├── guards/ # FastAPI dependency guards
276
+ │ ├── functions.py # require_user, require_groups, require_roles,
277
+ │ │ # require_permissions, get_current_user
278
+ │ ├── group_checker.py # GroupChecker
279
+ │ ├── role_checker.py # RoleChecker
280
+ │ └── permissions_checker.py # PermissionsChecker
281
+ ├── providers/
282
+ │ ├── aws/ # AWS Cognito & Identity Pool
283
+ │ │ ├── cognito_provider.py
284
+ │ │ ├── cognito_groups_provider.py
285
+ │ │ ├── cognito_groups_as_roles_provider.py
286
+ │ │ ├── cognito_profile_provider.py
287
+ │ │ ├── cognito_authz_provider_settings.py
288
+ │ │ ├── identity_pool_provider.py
289
+ │ │ └── services/ # Cognito auth service, M2M detector
290
+ │ ├── azure/ # Azure Entra ID
291
+ │ │ ├── entra_id_provider.py
292
+ │ │ └── settings.py
293
+ │ └── sqlalchemy/ # SQL-backed authorization
294
+ │ ├── sql_groups_provider.py
295
+ │ ├── sql_permissions_provider.py
296
+ │ ├── async_database.py
297
+ │ └── async_database_settings.py
298
+ └── exceptions/ # InvalidTokenException, AuthenticationError, …
299
+ ```
300
+
301
+ ## Architecture
302
+
303
+ ```mermaid
304
+ graph TD
305
+ A[HTTP Request] --> B[JwtAuthMiddleware\nor BasicAuthMiddleware]
306
+ B --> C[JWTBearerManager]
307
+ C --> D[JWTProvider\nCognitoProvider · EntraIdProvider · IdentityPoolProvider]
308
+ D --> E[Token Validation\nJWKS cache]
309
+ E --> F[User object]
310
+ F --> G[GroupsProvider\nCognitoGroupsProvider · SqlGroupsProvider]
311
+ F --> H[PermissionsProvider\nSqlPermissionsProvider]
312
+ F --> I[RolesProvider\nCognitoGroupsAsRolesProvider]
313
+ G --> J[request.state.current_user]
314
+ H --> J
315
+ I --> J
316
+ J --> K[Guards\nrequire_user · require_groups\nrequire_roles · require_permissions]
317
+ ```
318
+
319
+ ## Core Components
320
+
321
+ | Component | Import path | Description |
322
+ | --------- | ----------- | ----------- |
323
+ | `JwtAuthMiddleware` | `auth_middleware` | ASGI middleware for JWT authentication |
324
+ | `BasicAuthMiddleware` | `auth_middleware` | ASGI middleware for Basic Auth |
325
+ | `JWTProvider` | `auth_middleware.contracts` | Abstract base for JWT providers |
326
+ | `GroupsProvider` | `auth_middleware.contracts` | Abstract base for group authorization |
327
+ | `RolesProvider` | `auth_middleware.contracts` | Abstract base for role authorization |
328
+ | `PermissionsProvider` | `auth_middleware.contracts` | Abstract base for permission authorization |
329
+ | `CredentialsRepository` | `auth_middleware.contracts` | Abstract base for Basic Auth credential lookup |
330
+ | `require_user` | `auth_middleware.guards` | Guard: requires authenticated user |
331
+ | `require_groups` | `auth_middleware.guards` | Guard: requires group membership |
332
+ | `require_roles` | `auth_middleware.guards` | Guard: requires role membership |
333
+ | `require_permissions` | `auth_middleware.guards` | Guard: requires specific permissions |
334
+ | `get_current_user` | `auth_middleware.guards` | Dependency: returns current user or `None` |
335
+ | `CognitoProvider` | `auth_middleware.providers.aws.cognito_provider` | AWS Cognito JWT provider |
336
+ | `CognitoGroupsProvider` | `auth_middleware.providers.aws.cognito_groups_provider` | Groups from `cognito:groups` claim |
337
+ | `CognitoGroupsAsRolesProvider` | `auth_middleware.providers.aws.cognito_groups_as_roles_provider` | Cognito groups mapped as roles |
338
+ | `IdentityPoolProvider` | `auth_middleware.providers.aws.identity_pool_provider` | Cognito + Identity Pool |
339
+ | `EntraIDProvider` | `auth_middleware.providers.azure.entra_id_provider` | Azure Entra ID JWT provider |
340
+ | `SqlGroupsProvider` | `auth_middleware.providers.sqlalchemy.sql_groups_provider` | DB-backed groups |
341
+ | `SqlPermissionsProvider` | `auth_middleware.providers.sqlalchemy.sql_permissions_provider` | DB-backed permissions |
342
+
343
+ ### Authenticated User Properties
344
+
345
+ Available on `request.state.current_user`:
346
+
347
+ | Property | Type | Description |
348
+ | -------- | ---- | ----------- |
349
+ | `id` | `str` | Unique identifier from the identity provider |
350
+ | `name` | `str \| None` | Display name |
351
+ | `email` | `EmailStr \| None` | Email address |
352
+ | `groups` | `list[str]` (async) | User groups |
353
+ | `roles` | `list[str]` (async) | User roles |
354
+ | `permissions` | `list[str]` (async) | User permissions |
355
+
356
+ ## Development
357
+
358
+ ```bash
359
+ # Clone and set up
360
+ git clone https://github.com/impalah/auth-middleware.git
361
+ cd auth-middleware
362
+ make venv
363
+
364
+ # Quality checks
365
+ make test # run test suite
366
+ make type-check # mypy strict
367
+ make lint # ruff
368
+ make check # all checks at once
369
+
370
+ # Build & publish
371
+ make build
372
+ make publish
373
+ ```
374
+
375
+ ## Contributing
376
+
377
+ 1. Fork the repository
378
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
379
+ 3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
380
+ 4. Push the branch (`git push origin feature/amazing-feature`)
381
+ 5. Open a Pull Request
382
+
383
+ ## License
384
+
385
+ MIT — see [LICENSE](LICENSE) for details.
386
+
387
+ ## Links
388
+
389
+ - **Documentation**: [https://impalah.github.io/auth-middleware/](https://impalah.github.io/auth-middleware/)
390
+ - **PyPI Package**: [https://pypi.org/project/auth-middleware/](https://pypi.org/project/auth-middleware/)
391
+ - **Source Code**: [https://github.com/impalah/auth-middleware](https://github.com/impalah/auth-middleware)
392
+ - **Bug Reports**: [GitHub Issues](https://github.com/impalah/auth-middleware/issues)
393
+
394
+ ---
395
+
396
+ Created by [impalah](https://github.com/impalah) — Made for modern Python async applications