Authlib 1.9.4__tar.gz → 1.9.5__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 (227) hide show
  1. {authlib-1.9.4 → authlib-1.9.5}/Authlib.egg-info/PKG-INFO +1 -1
  2. {authlib-1.9.4 → authlib-1.9.5}/PKG-INFO +1 -1
  3. {authlib-1.9.4 → authlib-1.9.5}/authlib/consts.py +1 -1
  4. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/oct_key.py +21 -0
  5. {authlib-1.9.4 → authlib-1.9.5}/Authlib.egg-info/SOURCES.txt +0 -0
  6. {authlib-1.9.4 → authlib-1.9.5}/Authlib.egg-info/dependency_links.txt +0 -0
  7. {authlib-1.9.4 → authlib-1.9.5}/Authlib.egg-info/requires.txt +0 -0
  8. {authlib-1.9.4 → authlib-1.9.5}/Authlib.egg-info/top_level.txt +0 -0
  9. {authlib-1.9.4 → authlib-1.9.5}/LICENSE +0 -0
  10. {authlib-1.9.4 → authlib-1.9.5}/MANIFEST.in +0 -0
  11. {authlib-1.9.4 → authlib-1.9.5}/README.md +0 -0
  12. {authlib-1.9.4 → authlib-1.9.5}/authlib/__init__.py +0 -0
  13. {authlib-1.9.4 → authlib-1.9.5}/authlib/_joserfc_helpers.py +0 -0
  14. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/__init__.py +0 -0
  15. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/encoding.py +0 -0
  16. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/errors.py +0 -0
  17. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/language.py +0 -0
  18. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/security.py +0 -0
  19. {authlib-1.9.4 → authlib-1.9.5}/authlib/common/urls.py +0 -0
  20. {authlib-1.9.4 → authlib-1.9.5}/authlib/deprecate.py +0 -0
  21. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/__init__.py +0 -0
  22. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/__init__.py +0 -0
  23. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/async_app.py +0 -0
  24. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/async_openid.py +0 -0
  25. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/errors.py +0 -0
  26. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/framework_integration.py +0 -0
  27. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/registry.py +0 -0
  28. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/sync_app.py +0 -0
  29. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/base_client/sync_openid.py +0 -0
  30. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_client/__init__.py +0 -0
  31. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_client/apps.py +0 -0
  32. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_client/integration.py +0 -0
  33. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth1/__init__.py +0 -0
  34. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth1/authorization_server.py +0 -0
  35. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth1/nonce.py +0 -0
  36. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth1/resource_protector.py +0 -0
  37. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/__init__.py +0 -0
  38. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/authorization_server.py +0 -0
  39. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/endpoints.py +0 -0
  40. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/requests.py +0 -0
  41. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/resource_protector.py +0 -0
  42. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/django_oauth2/signals.py +0 -0
  43. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_client/__init__.py +0 -0
  44. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_client/apps.py +0 -0
  45. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_client/integration.py +0 -0
  46. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth1/__init__.py +0 -0
  47. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth1/authorization_server.py +0 -0
  48. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth1/cache.py +0 -0
  49. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth1/resource_protector.py +0 -0
  50. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/__init__.py +0 -0
  51. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/authorization_server.py +0 -0
  52. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/errors.py +0 -0
  53. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/requests.py +0 -0
  54. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/resource_protector.py +0 -0
  55. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/flask_oauth2/signals.py +0 -0
  56. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/__init__.py +0 -0
  57. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/_compat.py +0 -0
  58. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/assertion_client.py +0 -0
  59. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/oauth1_client.py +0 -0
  60. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/oauth2_client.py +0 -0
  61. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/httpx_client/utils.py +0 -0
  62. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/requests_client/__init__.py +0 -0
  63. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/requests_client/assertion_session.py +0 -0
  64. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/requests_client/oauth1_session.py +0 -0
  65. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/requests_client/oauth2_session.py +0 -0
  66. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/requests_client/utils.py +0 -0
  67. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/sqla_oauth2/__init__.py +0 -0
  68. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/sqla_oauth2/client_mixin.py +0 -0
  69. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/sqla_oauth2/functions.py +0 -0
  70. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/sqla_oauth2/tokens_mixins.py +0 -0
  71. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/starlette_client/__init__.py +0 -0
  72. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/starlette_client/apps.py +0 -0
  73. {authlib-1.9.4 → authlib-1.9.5}/authlib/integrations/starlette_client/integration.py +0 -0
  74. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/__init__.py +0 -0
  75. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/drafts/__init__.py +0 -0
  76. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/drafts/_jwe_algorithms.py +0 -0
  77. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/drafts/_jwe_enc_cryptodome.py +0 -0
  78. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/drafts/_jwe_enc_cryptography.py +0 -0
  79. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/errors.py +0 -0
  80. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/jwk.py +0 -0
  81. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7515/__init__.py +0 -0
  82. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7515/jws.py +0 -0
  83. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7515/models.py +0 -0
  84. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7516/__init__.py +0 -0
  85. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7516/jwe.py +0 -0
  86. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7516/models.py +0 -0
  87. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/__init__.py +0 -0
  88. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/_cryptography_key.py +0 -0
  89. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/asymmetric_key.py +0 -0
  90. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/base_key.py +0 -0
  91. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/jwk.py +0 -0
  92. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7517/key_set.py +0 -0
  93. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/__init__.py +0 -0
  94. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/ec_key.py +0 -0
  95. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/jwe_algs.py +0 -0
  96. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/jwe_encs.py +0 -0
  97. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/jwe_zips.py +0 -0
  98. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/jws_algs.py +0 -0
  99. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/rsa_key.py +0 -0
  100. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7518/util.py +0 -0
  101. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7519/__init__.py +0 -0
  102. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7519/claims.py +0 -0
  103. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc7519/jwt.py +0 -0
  104. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc8037/__init__.py +0 -0
  105. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc8037/jws_eddsa.py +0 -0
  106. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/rfc8037/okp_key.py +0 -0
  107. {authlib-1.9.4 → authlib-1.9.5}/authlib/jose/util.py +0 -0
  108. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/__init__.py +0 -0
  109. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/client.py +0 -0
  110. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/errors.py +0 -0
  111. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/__init__.py +0 -0
  112. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/authorization_server.py +0 -0
  113. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/base_server.py +0 -0
  114. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/client_auth.py +0 -0
  115. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/errors.py +0 -0
  116. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/models.py +0 -0
  117. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/parameters.py +0 -0
  118. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/resource_protector.py +0 -0
  119. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/rsa.py +0 -0
  120. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/signature.py +0 -0
  121. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/util.py +0 -0
  122. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth1/rfc5849/wrapper.py +0 -0
  123. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/__init__.py +0 -0
  124. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/auth.py +0 -0
  125. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/base.py +0 -0
  126. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/claims.py +0 -0
  127. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/client.py +0 -0
  128. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/drafts/__init__.py +0 -0
  129. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/drafts/id_jag.py +0 -0
  130. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/__init__.py +0 -0
  131. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/authenticate_client.py +0 -0
  132. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/authorization_server.py +0 -0
  133. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/endpoint.py +0 -0
  134. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/errors.py +0 -0
  135. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/__init__.py +0 -0
  136. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/authorization_code.py +0 -0
  137. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/base.py +0 -0
  138. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/client_credentials.py +0 -0
  139. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/implicit.py +0 -0
  140. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/refresh_token.py +0 -0
  141. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.py +0 -0
  142. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/hooks.py +0 -0
  143. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/models.py +0 -0
  144. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/parameters.py +0 -0
  145. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/requests.py +0 -0
  146. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/resource_protector.py +0 -0
  147. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/token_endpoint.py +0 -0
  148. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/util.py +0 -0
  149. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6749/wrappers.py +0 -0
  150. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6750/__init__.py +0 -0
  151. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6750/errors.py +0 -0
  152. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6750/parameters.py +0 -0
  153. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6750/token.py +0 -0
  154. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc6750/validator.py +0 -0
  155. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7009/__init__.py +0 -0
  156. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7009/parameters.py +0 -0
  157. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7009/revocation.py +0 -0
  158. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7521/__init__.py +0 -0
  159. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7521/client.py +0 -0
  160. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/__init__.py +0 -0
  161. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/assertion.py +0 -0
  162. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/auth.py +0 -0
  163. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/client.py +0 -0
  164. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/jwt_bearer.py +0 -0
  165. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/token.py +0 -0
  166. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7523/validator.py +0 -0
  167. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7591/__init__.py +0 -0
  168. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7591/claims.py +0 -0
  169. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7591/endpoint.py +0 -0
  170. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7591/errors.py +0 -0
  171. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7592/__init__.py +0 -0
  172. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7592/endpoint.py +0 -0
  173. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7636/__init__.py +0 -0
  174. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7636/challenge.py +0 -0
  175. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7662/__init__.py +0 -0
  176. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7662/introspection.py +0 -0
  177. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7662/models.py +0 -0
  178. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc7662/token_validator.py +0 -0
  179. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8414/__init__.py +0 -0
  180. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8414/models.py +0 -0
  181. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8414/well_known.py +0 -0
  182. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8628/__init__.py +0 -0
  183. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8628/device_code.py +0 -0
  184. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8628/endpoint.py +0 -0
  185. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8628/errors.py +0 -0
  186. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8628/models.py +0 -0
  187. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc8693/__init__.py +0 -0
  188. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/__init__.py +0 -0
  189. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/claims.py +0 -0
  190. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/introspection.py +0 -0
  191. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/revocation.py +0 -0
  192. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/token.py +0 -0
  193. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9068/token_validator.py +0 -0
  194. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9101/__init__.py +0 -0
  195. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9101/authorization_server.py +0 -0
  196. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9101/discovery.py +0 -0
  197. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9101/errors.py +0 -0
  198. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9101/registration.py +0 -0
  199. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9207/__init__.py +0 -0
  200. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9207/discovery.py +0 -0
  201. {authlib-1.9.4 → authlib-1.9.5}/authlib/oauth2/rfc9207/parameter.py +0 -0
  202. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/__init__.py +0 -0
  203. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/__init__.py +0 -0
  204. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/authorization_request.py +0 -0
  205. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/claims.py +0 -0
  206. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/errors.py +0 -0
  207. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/__init__.py +0 -0
  208. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/_legacy.py +0 -0
  209. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/code.py +0 -0
  210. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/hybrid.py +0 -0
  211. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/implicit.py +0 -0
  212. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/grants/util.py +0 -0
  213. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/models.py +0 -0
  214. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/userinfo.py +0 -0
  215. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/core/util.py +0 -0
  216. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/discovery/__init__.py +0 -0
  217. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/discovery/models.py +0 -0
  218. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/discovery/well_known.py +0 -0
  219. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/registration/__init__.py +0 -0
  220. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/registration/claims.py +0 -0
  221. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/rpinitiated/__init__.py +0 -0
  222. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/rpinitiated/discovery.py +0 -0
  223. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/rpinitiated/end_session.py +0 -0
  224. {authlib-1.9.4 → authlib-1.9.5}/authlib/oidc/rpinitiated/registration.py +0 -0
  225. {authlib-1.9.4 → authlib-1.9.5}/pyproject.toml +0 -0
  226. {authlib-1.9.4 → authlib-1.9.5}/setup.cfg +0 -0
  227. {authlib-1.9.4 → authlib-1.9.5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Authlib
3
- Version: 1.9.4
3
+ Version: 1.9.5
4
4
  Summary: The ultimate Python library in building OAuth and OpenID Connect servers and clients.
5
5
  Author-email: Hsiaoming Yang <me@lepture.com>
6
6
  License: BSD-3-Clause
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Authlib
3
- Version: 1.9.4
3
+ Version: 1.9.5
4
4
  Summary: The ultimate Python library in building OAuth and OpenID Connect servers and clients.
5
5
  Author-email: Hsiaoming Yang <me@lepture.com>
6
6
  License: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  name = "Authlib"
2
- version = "1.9.4"
2
+ version = "1.9.5"
3
3
  author = "Hsiaoming Yang <me@lepture.com>"
4
4
  homepage = "https://authlib.org"
5
5
  default_user_agent = f"{name}/{version} (+{homepage})"
@@ -1,5 +1,8 @@
1
1
  import secrets
2
2
 
3
+ from cryptography.exceptions import UnsupportedAlgorithm
4
+ from cryptography.hazmat.primitives.serialization import load_ssh_public_key
5
+
3
6
  from authlib.common.encoding import to_bytes
4
7
  from authlib.common.encoding import to_unicode
5
8
  from authlib.common.encoding import urlsafe_b64decode
@@ -16,6 +19,21 @@ POSSIBLE_UNSAFE_KEYS = (
16
19
  b"ecdsa-sha2-",
17
20
  )
18
21
 
22
+ _SSH_PUBLIC_PREFIXES = (b"ssh-rsa", b"ssh-ed25519", b"ecdsa-sha2-")
23
+
24
+
25
+ def _is_ssh_public_key(raw_key):
26
+ """Tell if the asymmetric key classes would load the bytes as an SSH key."""
27
+ if not raw_key.startswith(_SSH_PUBLIC_PREFIXES):
28
+ return False
29
+
30
+ try:
31
+ load_ssh_public_key(raw_key)
32
+ except (ValueError, UnsupportedAlgorithm):
33
+ return False
34
+
35
+ return True
36
+
19
37
 
20
38
  class OctKey(Key):
21
39
  """Key class of the ``oct`` key type."""
@@ -73,6 +91,9 @@ class OctKey(Key):
73
91
  if any(marker in raw_key for marker in POSSIBLE_UNSAFE_KEYS):
74
92
  raise ValueError("This key may not be safe to import")
75
93
 
94
+ if _is_ssh_public_key(raw_key):
95
+ raise ValueError("This key may not be safe to import")
96
+
76
97
  @classmethod
77
98
  def import_key(cls, raw, options=None):
78
99
  """Import a key from bytes, string, or dict data."""
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes