oidcauthlib 3.0.8__tar.gz → 3.0.9__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 (86) hide show
  1. {oidcauthlib-3.0.8/oidcauthlib.egg-info → oidcauthlib-3.0.9}/PKG-INFO +1 -1
  2. oidcauthlib-3.0.9/VERSION +1 -0
  3. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/well_known_configuration_cache.py +1 -0
  4. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/environment/oidc_environment_variables.py +20 -0
  5. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9/oidcauthlib.egg-info}/PKG-INFO +1 -1
  6. oidcauthlib-3.0.8/VERSION +0 -1
  7. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/LICENSE +0 -0
  8. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/MANIFEST.in +0 -0
  9. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/README.md +0 -0
  10. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/__init__.py +0 -0
  11. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/__init__.py +0 -0
  12. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/auth_helper.py +0 -0
  13. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/auth_manager.py +0 -0
  14. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/cache/__init__.py +0 -0
  15. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/cache/oauth_cache.py +0 -0
  16. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/cache/oauth_memory_cache.py +0 -0
  17. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/cache/oauth_mongo_cache.py +0 -0
  18. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/config/__init__.py +0 -0
  19. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/config/auth_config.py +0 -0
  20. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/config/auth_config_reader.py +0 -0
  21. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/dcr/__init__.py +0 -0
  22. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/dcr/dcr_client.py +0 -0
  23. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/dcr/dcr_manager.py +0 -0
  24. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/dcr/dcr_registration.py +0 -0
  25. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/exceptions/__init__.py +0 -0
  26. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/exceptions/authorization_bearer_token_expired_exception.py +0 -0
  27. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/exceptions/authorization_bearer_token_invalid_exception.py +0 -0
  28. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/exceptions/authorization_bearer_token_missing_exception.py +0 -0
  29. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/exceptions/authorization_needed_exception.py +0 -0
  30. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/fastapi_auth_manager.py +0 -0
  31. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/middleware/__init__.py +0 -0
  32. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/middleware/request_scope_middleware.py +0 -0
  33. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/middleware/token_reader_middleware.py +0 -0
  34. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/__init__.py +0 -0
  35. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/auth.py +0 -0
  36. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/base_db_model.py +0 -0
  37. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/cache_item.py +0 -0
  38. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/client_key_set.py +0 -0
  39. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/models/token.py +0 -0
  40. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/__init__.py +0 -0
  41. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/base_repository.py +0 -0
  42. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/memory/__init__.py +0 -0
  43. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/memory/memory_repository.py +0 -0
  44. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/mongo/__init__.py +0 -0
  45. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/mongo/mongo_repository.py +0 -0
  46. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/repository/repository_factory.py +0 -0
  47. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/routers/__init__.py +0 -0
  48. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/routers/auth_router.py +0 -0
  49. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/token_reader.py +0 -0
  50. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/__init__.py +0 -0
  51. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/auth_server_metadata.py +0 -0
  52. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/auth_server_metadata_discovery.py +0 -0
  53. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/well_known_configuration_cache_result.py +0 -0
  54. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/auth/well_known_configuration/well_known_configuration_manager.py +0 -0
  55. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/container/__init__.py +0 -0
  56. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/container/oidc_authlib_container_factory.py +0 -0
  57. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/open_telemetry/__init__.py +0 -0
  58. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/open_telemetry/attribute_names.py +0 -0
  59. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/open_telemetry/span_names.py +0 -0
  60. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/py.typed +0 -0
  61. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/__init__.py +0 -0
  62. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/cache_to_collection_mapper.py +0 -0
  63. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/memory_storage_factory.py +0 -0
  64. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/mongo_gridfs_db.py +0 -0
  65. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/mongo_gridfs_exception.py +0 -0
  66. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/mongo_storage_factory.py +0 -0
  67. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/storage_factory.py +0 -0
  68. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/storage/storage_factory_creator.py +0 -0
  69. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/__init__.py +0 -0
  70. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/cached.py +0 -0
  71. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/environment/__init__.py +0 -0
  72. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/environment/abstract_environment_variables.py +0 -0
  73. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/logger/__init__.py +0 -0
  74. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/logger/log_levels.py +0 -0
  75. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/logger/logging_response.py +0 -0
  76. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/logger/logging_transport.py +0 -0
  77. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/mongo_url_utils.py +0 -0
  78. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib/utilities/url_validator.py +0 -0
  79. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib.egg-info/SOURCES.txt +0 -0
  80. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib.egg-info/dependency_links.txt +0 -0
  81. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib.egg-info/requires.txt +0 -0
  82. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/oidcauthlib.egg-info/top_level.txt +0 -0
  83. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/pyproject.toml +0 -0
  84. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/setup.cfg +0 -0
  85. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/tests/test_mongo_url_utils.py +0 -0
  86. {oidcauthlib-3.0.8 → oidcauthlib-3.0.9}/tests/test_simple.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oidcauthlib
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: oidcauthlib
5
5
  Author-email: Imran Qureshi <imran.qureshi@bwell.com>
6
6
  License: Apache-2.0
@@ -0,0 +1 @@
1
+ 3.0.9
@@ -247,6 +247,7 @@ class WellKnownConfigurationCache:
247
247
  await self.well_known_store.put(
248
248
  key=well_known_uri,
249
249
  value=well_known_configuration_cache_result.model_dump(),
250
+ ttl=self.environment_variables.well_known_cache_ttl_seconds,
250
251
  )
251
252
  logger.info(f"Cached OIDC discovery document for {well_known_uri}")
252
253
  return well_known_configuration_cache_result
@@ -196,6 +196,26 @@ class OidcEnvironmentVariables(AbstractEnvironmentVariables):
196
196
  except ValueError:
197
197
  raise ValueError("MAX_MONGO_INLINE_SIZE_KB must be a positive integer representing bytes")
198
198
 
199
+ @property
200
+ def well_known_cache_ttl_seconds(self) -> int:
201
+ """TTL in seconds for well-known configuration entries in the persistent store.
202
+
203
+ Controls how long OIDC discovery documents (including JWKS keys) are
204
+ cached in MongoDB before expiring. This ensures key rotations by
205
+ identity providers are picked up within a bounded window.
206
+
207
+ Set via WELL_KNOWN_CACHE_TTL_SECONDS environment variable.
208
+ Defaults to 3600 seconds (1 hour).
209
+
210
+ Returns:
211
+ TTL in seconds
212
+ """
213
+ try:
214
+ ttl = int(os.environ.get("WELL_KNOWN_CACHE_TTL_SECONDS", "3600"))
215
+ return ttl
216
+ except ValueError:
217
+ raise ValueError("WELL_KNOWN_CACHE_TTL_SECONDS must be a positive integer representing seconds")
218
+
199
219
  @property
200
220
  def well_known_config_http_timeout_seconds(self) -> int:
201
221
  """HTTP timeout in seconds for fetching well-known configurations.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oidcauthlib
3
- Version: 3.0.8
3
+ Version: 3.0.9
4
4
  Summary: oidcauthlib
5
5
  Author-email: Imran Qureshi <imran.qureshi@bwell.com>
6
6
  License: Apache-2.0
oidcauthlib-3.0.8/VERSION DELETED
@@ -1 +0,0 @@
1
- 3.0.8
File without changes
File without changes
File without changes
File without changes
File without changes