first commit

This commit is contained in:
linkitapps
2026-09-14 23:22:10 +09:00
commit 9f9c8fb69b
4207 changed files with 1333187 additions and 0 deletions
@@ -0,0 +1 @@
pip
@@ -0,0 +1,180 @@
Metadata-Version: 2.4
Name: Authlib
Version: 1.8.0
Summary: The ultimate Python library in building OAuth and OpenID Connect servers and clients.
Author-email: Hsiaoming Yang <me@lepture.com>
License: BSD-3-Clause
Project-URL: Documentation, https://docs.authlib.org/
Project-URL: Purchase, https://authlib.org/plans
Project-URL: Issues, https://github.com/authlib/authlib/issues
Project-URL: Source, https://github.com/authlib/authlib
Project-URL: Donate, https://github.com/sponsors/lepture
Project-URL: Blog, https://blog.authlib.org/
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Security
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=45.0.1
Requires-Dist: joserfc>=1.6.1
Dynamic: license-file
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/_static/dark-logo.svg" />
<img alt="Authlib" src="docs/_static/light-logo.svg" height="68" />
</picture>
[![Build Status](https://github.com/authlib/authlib/workflows/tests/badge.svg)](https://github.com/authlib/authlib/actions)
[![PyPI version](https://img.shields.io/pypi/v/authlib.svg)](https://pypi.org/project/authlib)
[![conda-forge version](https://img.shields.io/conda/v/conda-forge/authlib.svg?label=conda-forge&colorB=0090ff)](https://anaconda.org/conda-forge/authlib)
[![PyPI Downloads](https://static.pepy.tech/badge/authlib/month)](https://pepy.tech/projects/authlib)
[![Code Coverage](https://codecov.io/gh/authlib/authlib/graph/badge.svg?token=OWTdxAIsPI)](https://codecov.io/gh/authlib/authlib)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=authlib_authlib&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=authlib_authlib)
</div>
The ultimate Python library in building OAuth and OpenID Connect servers.
JWS, JWK, JWA, JWT are included.
Authlib is compatible with Python3.10+.
## Migrations
Authlib will deprecate `authlib.jose` module, please read:
- [Migrating from `authlib.jose` to `joserfc`](https://jose.authlib.org/en/dev/migrations/authlib/)
## Sponsors
<table>
<tr>
<td><img align="middle" width="48" src="https://cdn.auth0.com/website/website/favicons/auth0-favicon.svg"></td>
<td>If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at <a href="https://auth0.com/overview?utm_source=GHsponsor&utm_medium=GHsponsor&utm_campaign=authlib&utm_content=auth">auth0.com/overview</a>.</td>
</tr>
<tr>
<td><img align="middle" width="48" src="https://typlog.com/assets/icon-white.svg"></td>
<td>A blogging and podcast hosting platform with minimal design but powerful features. Host your blog and Podcast with <a href="https://typlog.com/">Typlog.com</a>.
</td>
</tr>
</table>
[**Fund Authlib to access additional features**](https://docs.authlib.org/en/stable/community/funding.html)
## Features
Generic, spec-compliant implementation to build clients and providers:
- [The OAuth 1.0 Protocol](https://docs.authlib.org/en/stable/oauth1/index.html)
- [RFC5849: The OAuth 1.0 Protocol](https://docs.authlib.org/en/stable/oauth1/specs/rfc5849.html)
- [The OAuth 2.0 Authorization Framework](https://docs.authlib.org/en/stable/oauth2/index.html)
- [RFC6749: The OAuth 2.0 Authorization Framework](https://docs.authlib.org/en/stable/oauth2/specs/rfc6749.html)
- [RFC6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://docs.authlib.org/en/stable/oauth2/specs/rfc6750.html)
- [RFC7009: OAuth 2.0 Token Revocation](https://docs.authlib.org/en/stable/oauth2/specs/rfc7009.html)
- [RFC7523: JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants](https://docs.authlib.org/en/stable/oauth2/specs/rfc7523.html)
- [RFC7591: OAuth 2.0 Dynamic Client Registration Protocol](https://docs.authlib.org/en/stable/oauth2/specs/rfc7591.html)
- [RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol](https://docs.authlib.org/en/stable/oauth2/specs/rfc7592.html)
- [RFC7636: Proof Key for Code Exchange by OAuth Public Clients](https://docs.authlib.org/en/stable/oauth2/specs/rfc7636.html)
- [RFC7662: OAuth 2.0 Token Introspection](https://docs.authlib.org/en/stable/oauth2/specs/rfc7662.html)
- [RFC8414: OAuth 2.0 Authorization Server Metadata](https://docs.authlib.org/en/stable/oauth2/specs/rfc8414.html)
- [RFC8628: OAuth 2.0 Device Authorization Grant](https://docs.authlib.org/en/stable/oauth2/specs/rfc8628.html)
- [RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens](https://docs.authlib.org/en/stable/oauth2/specs/rfc9068.html)
- [RFC9101: The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)](https://docs.authlib.org/en/stable/oauth2/specs/rfc9101.html)
- [RFC9207: OAuth 2.0 Authorization Server Issuer Identification](https://docs.authlib.org/en/stable/oauth2/specs/rfc9207.html)
- [Javascript Object Signing and Encryption](https://docs.authlib.org/en/stable/jose/index.html)
- [RFC7515: JSON Web Signature](https://docs.authlib.org/en/stable/jose/jws.html)
- [RFC7516: JSON Web Encryption](https://docs.authlib.org/en/stable/jose/jwe.html)
- [RFC7517: JSON Web Key](https://docs.authlib.org/en/stable/jose/jwk.html)
- [RFC7518: JSON Web Algorithms](https://docs.authlib.org/en/stable/jose/specs/rfc7518.html)
- [RFC7519: JSON Web Token](https://docs.authlib.org/en/stable/jose/jwt.html)
- [RFC7638: JSON Web Key (JWK) Thumbprint](https://docs.authlib.org/en/stable/jose/specs/rfc7638.html)
- [ ] RFC7797: JSON Web Signature (JWS) Unencoded Payload Option
- [RFC8037: ECDH in JWS and JWE](https://docs.authlib.org/en/stable/jose/specs/rfc8037.html)
- [ ] draft-madden-jose-ecdh-1pu-04: Public Key Authenticated Encryption for JOSE: ECDH-1PU
- [OpenID Connect 1.0](https://docs.authlib.org/en/stable/oauth2/specs/oidc.html)
- [x] OpenID Connect Core 1.0
- [x] OpenID Connect Discovery 1.0
- [x] OpenID Connect Dynamic Client Registration 1.0
- [x] [OpenID Connect RP-Initiated Logout 1.0](https://openid.net/specs/openid-connect-rpinitiated-1_0.html)
Connect third party OAuth providers with Authlib built-in client integrations:
- Requests
- [OAuth1Session](https://docs.authlib.org/en/stable/oauth1/client/http/requests.html)
- [OAuth2Session](https://docs.authlib.org/en/stable/oauth2/client/http/requests.html#requests-oauth-2-0)
- [OpenID Connect](https://docs.authlib.org/en/stable/oauth2/client/http/requests.html#requests-openid-connect)
- [AssertionSession](https://docs.authlib.org/en/stable/oauth2/client/http/requests.html#requests-service-account)
- HTTPX
- [AsyncOAuth1Client](https://docs.authlib.org/en/stable/oauth1/client/http/httpx.html)
- [AsyncOAuth2Client](https://docs.authlib.org/en/stable/oauth2/client/http/httpx.html#httpx-oauth-2-0)
- [OpenID Connect](https://docs.authlib.org/en/stable/oauth2/client/http/httpx.html#httpx-oauth-2-0)
- [AsyncAssertionClient](https://docs.authlib.org/en/stable/oauth2/client/http/httpx.html#async-service-account)
- [Flask OAuth Client](https://docs.authlib.org/en/stable/oauth2/client/web/flask.html)
- [Django OAuth Client](https://docs.authlib.org/en/stable/oauth2/client/web/django.html)
- [Starlette OAuth Client](https://docs.authlib.org/en/stable/oauth2/client/web/starlette.html)
- [FastAPI OAuth Client](https://docs.authlib.org/en/stable/oauth2/client/web/fastapi.html)
Build your own OAuth 1.0, OAuth 2.0, and OpenID Connect providers:
- Flask
- [Flask OAuth 1.0 Provider](https://docs.authlib.org/en/stable/oauth1/provider/flask/index.html)
- [Flask OAuth 2.0 Provider](https://docs.authlib.org/en/stable/oauth2/authorization-server/flask/index.html)
- [Flask OpenID Connect 1.0 Provider](https://docs.authlib.org/en/stable/oauth2/authorization-server/flask/openid-connect.html)
- Django
- [Django OAuth 1.0 Provider](https://docs.authlib.org/en/stable/oauth1/provider/django/index.html)
- [Django OAuth 2.0 Provider](https://docs.authlib.org/en/stable/oauth2/authorization-server/django/index.html)
- [Django OpenID Connect 1.0 Provider](https://docs.authlib.org/en/stable/oauth2/authorization-server/django/openid-connect.html)
## Useful Links
1. Homepage: <https://authlib.org/>.
2. Documentation: <https://docs.authlib.org/>.
3. Purchase Commercial License: <https://authlib.org/plans>.
4. Blog: <https://blog.authlib.org/>.
5. Twitter: <https://twitter.com/authlib>.
6. StackOverflow: <https://stackoverflow.com/questions/tagged/authlib>.
7. Other Repositories: <https://github.com/authlib>.
8. Subscribe Tidelift: [https://tidelift.com/subscription/pkg/pypi-authlib](https://tidelift.com/subscription/pkg/pypi-authlib?utm_source=pypi-authlib&utm_medium=referral&utm_campaign=links).
## Security Reporting
If you found security bugs, please do not send a public issue or patch.
You can send me email at <me@lepture.com>. Attachment with patch is welcome.
My PGP Key fingerprint is:
```
72F8 E895 A70C EBDF 4F2A DFE0 7E55 E3E0 118B 2B4C
```
Or, you can use the [Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.
## License
Authlib offers two licenses:
1. BSD LICENSE
2. COMMERCIAL-LICENSE
Any project, open or closed source, can use the BSD license.
If your company needs commercial support, you can purchase a commercial license at
[Authlib Plans](https://authlib.org/plans). You can find more information at
<https://authlib.org/support>.
@@ -0,0 +1,431 @@
authlib-1.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
authlib-1.8.0.dist-info/METADATA,sha256=y-Ke-5aT40QojwA51SZQswE6jQWdogODm1ej7j5gAlM,10394
authlib-1.8.0.dist-info/RECORD,,
authlib-1.8.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
authlib-1.8.0.dist-info/WHEEL,sha256=4YBfCYNH4wlLpv3pzq1hbEuIlXA4WJabKLFurZ7eTL0,109
authlib-1.8.0.dist-info/licenses/LICENSE,sha256=jhtIUY3pxs0Ay0jH_luAI_2Q1VUsoS6-c2Kg3zDdvkU,1514
authlib-1.8.0.dist-info/top_level.txt,sha256=Rj3mJn0jhRuCs6x7ysI6hYE2PePbuxey6y6jswadAEY,8
authlib/__init__.py,sha256=2k6VBNbFu1ErBoHhp9Rcv9sDYrC1jWLWvfSkyq-N2AY,487
authlib/__pycache__/__init__.cpython-311.pyc,,
authlib/__pycache__/_joserfc_helpers.cpython-311.pyc,,
authlib/__pycache__/consts.cpython-311.pyc,,
authlib/__pycache__/deprecate.cpython-311.pyc,,
authlib/_joserfc_helpers.py,sha256=O5AtiXjq5A704euiiFb_iBSBciL4CdqOiwBhhr0UKTg,1482
authlib/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
authlib/common/__pycache__/__init__.cpython-311.pyc,,
authlib/common/__pycache__/encoding.cpython-311.pyc,,
authlib/common/__pycache__/errors.cpython-311.pyc,,
authlib/common/__pycache__/language.cpython-311.pyc,,
authlib/common/__pycache__/security.cpython-311.pyc,,
authlib/common/__pycache__/urls.cpython-311.pyc,,
authlib/common/encoding.py,sha256=S80EkhVVJABStdEuZvQV1c47gQnu359fgLAFDmqLaP0,1544
authlib/common/errors.py,sha256=L4_CDCQ7M08lrnM17QJWrLXoIeqatzRT6WcFno4FKtE,1667
authlib/common/language.py,sha256=xeDDjdtWo3SoUOK1QhNqSFQTeMUZCBvfOzftzqvJtk4,487
authlib/common/security.py,sha256=VfF74sPQ6jy5eENTAPCA4uAXSzG87KgMSnJ9pNgCPok,1211
authlib/common/urls.py,sha256=8OGG-1IIXzN5GVH7vdXjmitcXcHrYHjRcFAvKUlaYBQ,4805
authlib/consts.py,sha256=-wweOAD8HYHxjARb5vU3PBm-1U8LESO0DpXNDAKcr0g,299
authlib/deprecate.py,sha256=Op4RGw-7oi4GKwz8JkfptqHLSePclQTLg8VTlva0NsM,361
authlib/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
authlib/integrations/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/base_client/__init__.py,sha256=0nRNGKgwojLqaTwnbDfXqLiEjNY9aY4AST_zUtXy-WU,820
authlib/integrations/base_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/async_app.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/async_openid.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/errors.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/framework_integration.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/registry.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/sync_app.cpython-311.pyc,,
authlib/integrations/base_client/__pycache__/sync_openid.cpython-311.pyc,,
authlib/integrations/base_client/async_app.py,sha256=H6nY2BhdbwPP86IHGkjZLC2UEzIaeGQaA590U2Pz6Z8,5960
authlib/integrations/base_client/async_openid.py,sha256=c2OmTdSF-Cle5HJDJxWHnkz4otQ7iJqnzITnKEGCdBk,4492
authlib/integrations/base_client/errors.py,sha256=Iniwp6d3XJ0Q3bYQcOB1tnCQhMKcYv8wLH7BAFHICAA,632
authlib/integrations/base_client/framework_integration.py,sha256=jZ9rcYLUwRANorQoJNzi7CC0NoceujnKrKSicGsiptI,1945
authlib/integrations/base_client/registry.py,sha256=GV0IJqZzPtsJHb-tl4t38K_Yvv3q4NPvp851V_UzDxY,4313
authlib/integrations/base_client/sync_app.py,sha256=TCt6Vw_tuTtCqEZTqemML6OpD2EEi1DKbK4Vvu1ihzY,12938
authlib/integrations/base_client/sync_openid.py,sha256=qkEuRAAye_OMM7ajp1wq9VztSFyL2AEQAMxaVQYzjEM,4336
authlib/integrations/django_client/__init__.py,sha256=z3jiicS7KZigQKbwVsNlYyIHYKDFdiJi0848iNkl8gk,516
authlib/integrations/django_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/django_client/__pycache__/apps.cpython-311.pyc,,
authlib/integrations/django_client/__pycache__/integration.cpython-311.pyc,,
authlib/integrations/django_client/apps.py,sha256=lEK_ZnDoyDROuA2biquKmA1lAT0IJkIMA6NHlaMsNew,5404
authlib/integrations/django_client/integration.py,sha256=VTUyAp7ijC0RfPyZ5_w0yqL1LfnrTzemFG68nNd-afU,651
authlib/integrations/django_oauth1/__init__.py,sha256=dXgyMkdXR5d6XpBnx_Wrkkrj7LebJrgQU7dK6lm84Dk,229
authlib/integrations/django_oauth1/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/django_oauth1/__pycache__/authorization_server.cpython-311.pyc,,
authlib/integrations/django_oauth1/__pycache__/nonce.cpython-311.pyc,,
authlib/integrations/django_oauth1/__pycache__/resource_protector.cpython-311.pyc,,
authlib/integrations/django_oauth1/authorization_server.py,sha256=xtI50oMRKfA5tkbuIWPQP98Wx5_-W6KZQ8NzNA4uloE,4560
authlib/integrations/django_oauth1/nonce.py,sha256=jwhnA3SFCoGtEN7LBLv3pyKc1rWepFM9_iTSpt6BvR4,396
authlib/integrations/django_oauth1/resource_protector.py,sha256=JWlMFJqyG_miEskSmKcHBrXmWQe25P1xg_srW7UCuck,2400
authlib/integrations/django_oauth2/__init__.py,sha256=gmWoCspRgvmtO3VuA34-FluF5pmgbo-oQyeD1KW2rVQ,333
authlib/integrations/django_oauth2/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/django_oauth2/__pycache__/authorization_server.cpython-311.pyc,,
authlib/integrations/django_oauth2/__pycache__/endpoints.cpython-311.pyc,,
authlib/integrations/django_oauth2/__pycache__/requests.cpython-311.pyc,,
authlib/integrations/django_oauth2/__pycache__/resource_protector.cpython-311.pyc,,
authlib/integrations/django_oauth2/__pycache__/signals.cpython-311.pyc,,
authlib/integrations/django_oauth2/authorization_server.py,sha256=6P0pYQpS83igXm-XyUmdIfTLq0_O3kpKApEVDynHaZA,4463
authlib/integrations/django_oauth2/endpoints.py,sha256=dlGwktdT_miFCZDKYTFaiKxBPxBlL0cGlJCsE19wBv4,1838
authlib/integrations/django_oauth2/requests.py,sha256=Qkk-G-VLlQwfh_QA2Wq9NBQr5EYnYGUSvX_ba9WZc5g,1850
authlib/integrations/django_oauth2/resource_protector.py,sha256=5UCUXV5vwIX6wYMWnnm7YJgDWejVYGYsy2Dd5mbFQL4,2668
authlib/integrations/django_oauth2/signals.py,sha256=tc_NkIL4Gx55P6qlpRU19bCkkPiMLLehLoL95pSuKw0,235
authlib/integrations/flask_client/__init__.py,sha256=mtpFrXZD656128GjJYODkK0aLOozxIs2XYkU9WgmB5M,1765
authlib/integrations/flask_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/flask_client/__pycache__/apps.cpython-311.pyc,,
authlib/integrations/flask_client/__pycache__/integration.cpython-311.pyc,,
authlib/integrations/flask_client/apps.py,sha256=CzFymCVh4-O3c8zWP4p2q_WsB3e6EbF_GehEWeW2rYo,5555
authlib/integrations/flask_client/integration.py,sha256=BbjoUXnS-TR4o7OrUa4qVH0c4owC3jBzt7WP9_HGoiY,828
authlib/integrations/flask_oauth1/__init__.py,sha256=IJKe9D2jZdtZ2feLWBAaef5TIGw8WYpeUVvswA1S6lk,310
authlib/integrations/flask_oauth1/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/flask_oauth1/__pycache__/authorization_server.cpython-311.pyc,,
authlib/integrations/flask_oauth1/__pycache__/cache.cpython-311.pyc,,
authlib/integrations/flask_oauth1/__pycache__/resource_protector.cpython-311.pyc,,
authlib/integrations/flask_oauth1/authorization_server.py,sha256=mogA8tai-cU2-0c1JL8av_e47SXXbaEDbk6hjD9fEkE,6146
authlib/integrations/flask_oauth1/cache.py,sha256=iF_mvWvkv6S7n0bm5Q9kUqBIlXcmwgxx01chPZM27xo,3012
authlib/integrations/flask_oauth1/resource_protector.py,sha256=BVUMqt1BBMum1cSneaTrDgK9-LveSm11gLyruqy2-u0,3910
authlib/integrations/flask_oauth2/__init__.py,sha256=cQ7vhDQuXp2R5IMPTpb6rR0ChKAt_tmY95mlrOjYXOc,284
authlib/integrations/flask_oauth2/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/flask_oauth2/__pycache__/authorization_server.cpython-311.pyc,,
authlib/integrations/flask_oauth2/__pycache__/errors.cpython-311.pyc,,
authlib/integrations/flask_oauth2/__pycache__/requests.cpython-311.pyc,,
authlib/integrations/flask_oauth2/__pycache__/resource_protector.cpython-311.pyc,,
authlib/integrations/flask_oauth2/__pycache__/signals.cpython-311.pyc,,
authlib/integrations/flask_oauth2/authorization_server.py,sha256=rWrRJh3pr6tito6OKYGTbdY4Y2OYMKyMmD20CtmVb1s,5911
authlib/integrations/flask_oauth2/errors.py,sha256=ku67ILaSYS9i028Ipx26TYslXTK9UWiumqf07tjbICo,1085
authlib/integrations/flask_oauth2/requests.py,sha256=DcLTETbx0OjNa8mpjRr4UKifuni1oXGQOHBlXF1WWSk,1480
authlib/integrations/flask_oauth2/resource_protector.py,sha256=bNV-z50G-4JC6NUnJV18rxBQNUQLSPFecXDvF3CAR6c,3946
authlib/integrations/flask_oauth2/signals.py,sha256=ZgwcCoNMSmrUQJHUv0uMSH9FBzdDE1izWg-0IcuKc6U,341
authlib/integrations/httpx_client/__init__.py,sha256=rx-XuWSaX5g33eYKLuzg5loNEN5tFwOS5jaKzuU6DHY,1107
authlib/integrations/httpx_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/httpx_client/__pycache__/_compat.cpython-311.pyc,,
authlib/integrations/httpx_client/__pycache__/assertion_client.cpython-311.pyc,,
authlib/integrations/httpx_client/__pycache__/oauth1_client.cpython-311.pyc,,
authlib/integrations/httpx_client/__pycache__/oauth2_client.cpython-311.pyc,,
authlib/integrations/httpx_client/__pycache__/utils.cpython-311.pyc,,
authlib/integrations/httpx_client/_compat.py,sha256=tDLwpK6i7jPBrJIiJ2ZBWVEO6Dbq2rdAf-elL3ApbSU,407
authlib/integrations/httpx_client/assertion_client.py,sha256=dfOhgZzgJSeSk7LhuJPZXOECarH_XtdnUPCccu6W47M,3660
authlib/integrations/httpx_client/oauth1_client.py,sha256=BKPgoACkIW_EJPMwi9ZTfc-9eNsg2uk6Xa1GrAbXixU,4422
authlib/integrations/httpx_client/oauth2_client.py,sha256=xt80kFX-vWe06VzRcN7CHcCZRVGcX0DZSvWhc-ieHhI,9187
authlib/integrations/httpx_client/utils.py,sha256=rK6J7wdm3RP5lFtaVD-rRKU38rvX8oPUPvM7JqTp0Mk,995
authlib/integrations/requests_client/__init__.py,sha256=dJWn99gMa6NXQ0XfQSZczttF9OUX7a936L1PtHE-9mk,831
authlib/integrations/requests_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/requests_client/__pycache__/assertion_session.cpython-311.pyc,,
authlib/integrations/requests_client/__pycache__/oauth1_session.cpython-311.pyc,,
authlib/integrations/requests_client/__pycache__/oauth2_session.cpython-311.pyc,,
authlib/integrations/requests_client/__pycache__/utils.cpython-311.pyc,,
authlib/integrations/requests_client/assertion_session.py,sha256=VIsD7mTscPiFOQfBjYsahVh42DtLpugZZNS6mqFGcLA,2130
authlib/integrations/requests_client/oauth1_session.py,sha256=Jn_m0lOWyHTfM7onIEIKA8CX-kwtaB55KAF-358jV_U,2324
authlib/integrations/requests_client/oauth2_session.py,sha256=sf1w6igzC5d38PBCmdKBpb_3MAiHw5sucN1Sw4OKgsc,4979
authlib/integrations/requests_client/utils.py,sha256=k1g63rcfRsJAIyhRjIol1oe81KbZ7JO6GSrg_bqa4cE,294
authlib/integrations/sqla_oauth2/__init__.py,sha256=swHbsKMO9RwsgLLCKFV5Q1jGpXtGvot1PhBucp5b0UM,652
authlib/integrations/sqla_oauth2/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/sqla_oauth2/__pycache__/client_mixin.cpython-311.pyc,,
authlib/integrations/sqla_oauth2/__pycache__/functions.cpython-311.pyc,,
authlib/integrations/sqla_oauth2/__pycache__/tokens_mixins.cpython-311.pyc,,
authlib/integrations/sqla_oauth2/client_mixin.py,sha256=4hTqHeS34JUFJLLvOJqpfzBGo8FysYf22BW3l_a9qpY,4371
authlib/integrations/sqla_oauth2/functions.py,sha256=Lc_mK1LV_FonUUHXmswxlze7NPyAhs-pxW1pOGgWxXw,3156
authlib/integrations/sqla_oauth2/tokens_mixins.py,sha256=B62cFI-jZhtIU79of6l6Lxzia6tnutZHMeZrpSLIEd8,2261
authlib/integrations/starlette_client/__init__.py,sha256=qIPzeCFSCJ1AnCJ_I9tvmL2qDOJtaPUwgG7Mb4wz3VI,713
authlib/integrations/starlette_client/__pycache__/__init__.cpython-311.pyc,,
authlib/integrations/starlette_client/__pycache__/apps.cpython-311.pyc,,
authlib/integrations/starlette_client/__pycache__/integration.cpython-311.pyc,,
authlib/integrations/starlette_client/apps.py,sha256=m_EY-vf7NWL7Lhbk6vAvcmUz1VL_I2ssYUpCQJP03_A,5885
authlib/integrations/starlette_client/integration.py,sha256=_mZwgs8EC8YYzufGSok18S3VWrRRoWUVBPBJWrExR74,2771
authlib/jose/__init__.py,sha256=AwyQv6OUeg8p6GiJ96GSKXuuLmKE-7poaOLP305cLus,2047
authlib/jose/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/__pycache__/errors.cpython-311.pyc,,
authlib/jose/__pycache__/jwk.cpython-311.pyc,,
authlib/jose/__pycache__/util.cpython-311.pyc,,
authlib/jose/drafts/__init__.py,sha256=AXAw9r6-6XsVbugtoJ6zFn0u85iYDssVLLbDGm-HIWU,520
authlib/jose/drafts/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/drafts/__pycache__/_jwe_algorithms.cpython-311.pyc,,
authlib/jose/drafts/__pycache__/_jwe_enc_cryptodome.cpython-311.pyc,,
authlib/jose/drafts/__pycache__/_jwe_enc_cryptography.cpython-311.pyc,,
authlib/jose/drafts/_jwe_algorithms.py,sha256=qkYzPAteYSs1jRZGc3lxBVPbYy8jFgf_O2GE-LW0xUM,7199
authlib/jose/drafts/_jwe_enc_cryptodome.py,sha256=-Qq-JWsBrui5-UJW1QqDltsJCygvWAicSkbQqcH0jdo,1848
authlib/jose/drafts/_jwe_enc_cryptography.py,sha256=yd63oNubl-vSMC8H_g8xFGCMa3AUEhOzrXQnGS2TBSU,1731
authlib/jose/errors.py,sha256=NK3sAewwLTZ6eaNS4QVcpndf3oL2CySrwsF9xiTWDqs,3199
authlib/jose/jwk.py,sha256=LqCE7K1WozgSR_UHwXEajwVJjjBwXkIKebT1Z_AzFE0,491
authlib/jose/rfc7515/__init__.py,sha256=ub5iDwyqk1z_W1QSFqtFn6tEJvLqEgMg6ftHmGVsSvQ,367
authlib/jose/rfc7515/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc7515/__pycache__/jws.cpython-311.pyc,,
authlib/jose/rfc7515/__pycache__/models.cpython-311.pyc,,
authlib/jose/rfc7515/jws.py,sha256=ibKCqoxVWjuRyNumytiY8KR0r21QyOnSO6OqRoNpttc,13736
authlib/jose/rfc7515/models.py,sha256=j-TXnnQ2ktLeZL0DAaz86q1QzYI32D9huyyuh2jSmjo,2471
authlib/jose/rfc7516/__init__.py,sha256=85pDv76XJrL_ZVl89Thr6ilzM9yelMWGBad20klWjDM,514
authlib/jose/rfc7516/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc7516/__pycache__/jwe.cpython-311.pyc,,
authlib/jose/rfc7516/__pycache__/models.cpython-311.pyc,,
authlib/jose/rfc7516/jwe.py,sha256=jUStgx81VcWtuqyluhxyEkOxqSxG6EvYbMZwn5t91qY,30680
authlib/jose/rfc7516/models.py,sha256=H3tdtrHQkOQhrzHwrG06_QzngsCJ2Slmi49hBLuFUzo,4404
authlib/jose/rfc7517/__init__.py,sha256=RmMT_4O1d4YaqVl_5V5bM0blqXqjdKZsdYNQObtTkPc,404
authlib/jose/rfc7517/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc7517/__pycache__/_cryptography_key.cpython-311.pyc,,
authlib/jose/rfc7517/__pycache__/asymmetric_key.cpython-311.pyc,,
authlib/jose/rfc7517/__pycache__/base_key.cpython-311.pyc,,
authlib/jose/rfc7517/__pycache__/jwk.cpython-311.pyc,,
authlib/jose/rfc7517/__pycache__/key_set.cpython-311.pyc,,
authlib/jose/rfc7517/_cryptography_key.py,sha256=bp-2kiKpzKdOWSuzMTCMhsyZdvdEUrv9nYVyNBlqqys,1361
authlib/jose/rfc7517/asymmetric_key.py,sha256=NoCPBm8rjoW1Lonyt-LP44_TZnwceRv6DKHoRb4DDRw,6464
authlib/jose/rfc7517/base_key.py,sha256=UCWMvQljfO2YJ7fkcVwDF2TSCSegHM_AI14KZsxEdK8,3358
authlib/jose/rfc7517/jwk.py,sha256=1brj2H43cvLFrNQIbYtz7CPr_MCjG6amZuAgdzZWmFA,2029
authlib/jose/rfc7517/key_set.py,sha256=5402vmOVxNplBgRTcLhj0sh09d8O8_XeyErG1yetnAs,1606
authlib/jose/rfc7518/__init__.py,sha256=qvxQ-N7dlZu2d4qg30rH0JkNp-_eeaY0VK20vAv4V_U,963
authlib/jose/rfc7518/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/ec_key.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/jwe_algs.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/jwe_encs.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/jwe_zips.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/jws_algs.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/oct_key.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/rsa_key.cpython-311.pyc,,
authlib/jose/rfc7518/__pycache__/util.cpython-311.pyc,,
authlib/jose/rfc7518/ec_key.py,sha256=IIpDO9hKzDGhOd8CxwxH08iO_6j7sR86cJBm6wN0SFw,3921
authlib/jose/rfc7518/jwe_algs.py,sha256=1Rr48qE0sTxdGIfjrhj5wtGpIVx5UcNkEC2zzBPBwHk,11466
authlib/jose/rfc7518/jwe_encs.py,sha256=A0wKhj9u9hF_B51U7nHxZFQ5TskRfJ5Uube1DlvB8Aw,5093
authlib/jose/rfc7518/jwe_zips.py,sha256=dFCRYN5J7_iHmiaB8t_FjUqRz966t2TYXrJ2lmvUJfg,1060
authlib/jose/rfc7518/jws_algs.py,sha256=z_W1_2ahijF2fsXSrJ7X1ApHQuureeaLkCYXc8z3Pnw,6595
authlib/jose/rfc7518/oct_key.py,sha256=0XRdpxpFExYtlXse9ZAM6Bj-26fgZOHHBQdJoTdl1ec,2744
authlib/jose/rfc7518/rsa_key.py,sha256=PmX2WWd3rLmwihqGhJYPW6C50aEmYghfbsZKPO_4bRU,4581
authlib/jose/rfc7518/util.py,sha256=AMOegE7ypPLMSNF1a6hnhlHz55SmMtUbLB7ktZwRjAg,262
authlib/jose/rfc7519/__init__.py,sha256=uK34VbVT-Rt5vFodcoyghHGPyEpepLN3PjASpT14QBU,307
authlib/jose/rfc7519/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc7519/__pycache__/claims.cpython-311.pyc,,
authlib/jose/rfc7519/__pycache__/jwt.cpython-311.pyc,,
authlib/jose/rfc7519/claims.py,sha256=mFRu7T9nYMpaNKGLJ042qiQPMnJPpfnjn4CfRzvp-pc,8803
authlib/jose/rfc7519/jwt.py,sha256=eRBCDh_dAEhkplDTuEIjFvTeu6M9VlAuyqiTwGRF50A,6185
authlib/jose/rfc8037/__init__.py,sha256=v3uUtTKu4IvvusbHalhYtI1dt0OfsQQOJvZftBCS9sM,118
authlib/jose/rfc8037/__pycache__/__init__.cpython-311.pyc,,
authlib/jose/rfc8037/__pycache__/jws_eddsa.cpython-311.pyc,,
authlib/jose/rfc8037/__pycache__/okp_key.cpython-311.pyc,,
authlib/jose/rfc8037/jws_eddsa.py,sha256=Em1smAvwdGyNnHn2Hj5bL4QBFDlymXF1iY_-j6Ce9h4,717
authlib/jose/rfc8037/okp_key.py,sha256=Ixo6Uh03HV09n_OuFxhV28bRMwKJNkRhWyRBCkz50LA,3995
authlib/jose/util.py,sha256=24oOQ3Vnm9gUa0rDyEau9-l-F7ovzsDV6VbzxTscCiU,1357
authlib/oauth1/__init__.py,sha256=XCfnQRF0ImgdyQitEiymsDptLP7v3VcSO1RQWzBPNPs,933
authlib/oauth1/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth1/__pycache__/client.cpython-311.pyc,,
authlib/oauth1/__pycache__/errors.cpython-311.pyc,,
authlib/oauth1/client.py,sha256=PkrO_rpFDZnXQp586SkoLe7rLrz4i4ISYFBv_3UyxAk,6737
authlib/oauth1/errors.py,sha256=pg0NaUgENjfTN_ba50_yQB9aSNe5Mte5MDlikFuypBY,46
authlib/oauth1/rfc5849/__init__.py,sha256=Ta7spUuDIW4nBxQoDOZHUZYj42hjyl2h-T7lLq2xDeM,1136
authlib/oauth1/rfc5849/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/authorization_server.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/base_server.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/client_auth.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/errors.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/models.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/parameters.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/resource_protector.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/rsa.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/signature.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/util.cpython-311.pyc,,
authlib/oauth1/rfc5849/__pycache__/wrapper.cpython-311.pyc,,
authlib/oauth1/rfc5849/authorization_server.py,sha256=y-vDQ79-CFjCl05V9kYqTDhFdCGCMZ9wY9S66mMjmBc,13924
authlib/oauth1/rfc5849/base_server.py,sha256=BtBnisyOWP1epfzyp9A5zvMZu3rmCJazyHk9XEtpg8w,3972
authlib/oauth1/rfc5849/client_auth.py,sha256=Bx0iNj4zDJ6731o6Mfpt5KX5sNhg218N_9PoTbzuAWA,7156
authlib/oauth1/rfc5849/errors.py,sha256=VcFy1f0_Paxngy769EUzTR3Dve84RC88-5y_Lvdi-7c,2285
authlib/oauth1/rfc5849/models.py,sha256=Pvh-7iKXU3zkMYq1nYbdAaxL3Vdg95cxmdaC5-KWxxg,3418
authlib/oauth1/rfc5849/parameters.py,sha256=XpAcRz9MZjIUIs6IbthBK_fWzcL2Iy9jHUnFn3-W7zk,3532
authlib/oauth1/rfc5849/resource_protector.py,sha256=sqZw4y0Eg4qsVggXyhbHMcui8nRp3OhAgtjX9eUH21U,1279
authlib/oauth1/rfc5849/rsa.py,sha256=X2Dtld9hNnpi7RK_0sEuZXVPfi81aRyfEcKHshOmZdc,907
authlib/oauth1/rfc5849/signature.py,sha256=7SGCVUm_Qb-MAeRYUelKVyOqfbfuu39dBkxT58HeAfs,14164
authlib/oauth1/rfc5849/util.py,sha256=p9Kz8TkRqau3a-lQSJNCm7Dm79GG8fk5xTKjhNAEkvc,167
authlib/oauth1/rfc5849/wrapper.py,sha256=_7Tl5K6_GkWtjXlr6o1jC-I2ZdgDem9p_nsuD4t63YQ,4073
authlib/oauth2/__init__.py,sha256=okdXo25jYgXttumxbh7HxhhKeQAVAfdAR07BiHu7h6M,519
authlib/oauth2/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/__pycache__/auth.cpython-311.pyc,,
authlib/oauth2/__pycache__/base.cpython-311.pyc,,
authlib/oauth2/__pycache__/claims.cpython-311.pyc,,
authlib/oauth2/__pycache__/client.cpython-311.pyc,,
authlib/oauth2/auth.py,sha256=DsbUEgD1igRkeWNiOHdZV8FDlHTDr1nWwPZJJU8_qtM,3587
authlib/oauth2/base.py,sha256=8ZG02kdskhdh5vfK4P2nSsnE1WcwSUxsx5banmYJyVk,2025
authlib/oauth2/claims.py,sha256=BUM5UpQUIaPP_SSXZpGxc35YlMykhPK2ge3rUT1jVv4,2320
authlib/oauth2/client.py,sha256=Txg4tghGHItiTE2TTzDi8r-3V6aCEf78oOgaQtUSRx8,18938
authlib/oauth2/rfc6749/__init__.py,sha256=GU3tjunnDfKSZRE34VyFYukU7YDc_sUtJRqpGTE5f4s,2953
authlib/oauth2/rfc6749/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/authenticate_client.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/authorization_server.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/endpoint.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/errors.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/hooks.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/models.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/parameters.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/requests.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/resource_protector.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/token_endpoint.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/util.cpython-311.pyc,,
authlib/oauth2/rfc6749/__pycache__/wrappers.cpython-311.pyc,,
authlib/oauth2/rfc6749/authenticate_client.py,sha256=nFBxSrw62zLYl1JRON3rjCv_BUZzTivZ7HYuqnkdQmg,3985
authlib/oauth2/rfc6749/authorization_server.py,sha256=utXCXX9sn51ehHhhCthVFBULh7hpq9dc0b17Lm2Nk3M,15929
authlib/oauth2/rfc6749/endpoint.py,sha256=49YL3m_rsrQqDAvNg3PyELpf5Z4UMvwFcYfJKTw8EPM,2924
authlib/oauth2/rfc6749/errors.py,sha256=FfT5OJJEk0RJaUjJKT1v_npN5AvCUuASqP8LtX2e4xo,7242
authlib/oauth2/rfc6749/grants/__init__.py,sha256=7WmResYhXjt0RfzHvrh5sHOQqZURr3FphSO-dmZc9FI,1292
authlib/oauth2/rfc6749/grants/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/authorization_code.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/base.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/client_credentials.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/implicit.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/refresh_token.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/__pycache__/resource_owner_password_credentials.cpython-311.pyc,,
authlib/oauth2/rfc6749/grants/authorization_code.py,sha256=UcycImJesh6V-X-XvEONY_AEUYPjXZP80Y1o-gqOR0U,16070
authlib/oauth2/rfc6749/grants/base.py,sha256=59YgBIEvYDoUUbGkk0A7lgLXeRnqCir1imvUV_YZqWc,5283
authlib/oauth2/rfc6749/grants/client_credentials.py,sha256=dgx3jfPxrTyaY5Has7zGZw7ec6817R_KiEmlWkojODE,4016
authlib/oauth2/rfc6749/grants/implicit.py,sha256=Q6Kc0Tp4S_hjnZIxH-H4fFRWFeoa-8zUODpN0OBeUOA,9343
authlib/oauth2/rfc6749/grants/refresh_token.py,sha256=Lvv_5FmZnnpw33pE4hi3vit921Yj-PH9wSw5AhVH2yU,6569
authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.py,sha256=XXjKGEGwgZlF2uhjKUWTDuwBua348rjpG_ujX0l5Aoo,5839
authlib/oauth2/rfc6749/hooks.py,sha256=v8emOHmENAen3WbOXgmhLwHur6_i5QUgRE5NNXI_ukI,1004
authlib/oauth2/rfc6749/models.py,sha256=PZO-owOyb1RzbmD-xdYwO_Q6Si57pqFGPqhDXiDhNVs,7773
authlib/oauth2/rfc6749/parameters.py,sha256=-hauWerU6UlMuyVA-oxQaWc_r_y5BfDVnz7nh-oZd7E,8564
authlib/oauth2/rfc6749/requests.py,sha256=kna52ivkgqOlLdyY8lpC3j0yw6s0vBZmQwouLN3qrXE,5132
authlib/oauth2/rfc6749/resource_protector.py,sha256=OKXtwUVn0kgK55mIzc9mGNbfUpwoOWTxb105Td5iVPE,5404
authlib/oauth2/rfc6749/token_endpoint.py,sha256=Sxiy80loj41A4fyBoQP0kIQOhEzLpWdPG4RlQ0XxDdU,1083
authlib/oauth2/rfc6749/util.py,sha256=--0YfF2ZVHTVMPGKD10iPqj02WeiDhXuYttX4tRleVM,1174
authlib/oauth2/rfc6749/wrappers.py,sha256=TgysRPYlYcBaMk_0vVK25_XuQbXt5hb8tgi0t0Z7SHo,1278
authlib/oauth2/rfc6750/__init__.py,sha256=_ytmQznohUUqnCQturfWSTt03FhUt2DFEsIwvJwJLS0,638
authlib/oauth2/rfc6750/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc6750/__pycache__/errors.cpython-311.pyc,,
authlib/oauth2/rfc6750/__pycache__/parameters.cpython-311.pyc,,
authlib/oauth2/rfc6750/__pycache__/token.cpython-311.pyc,,
authlib/oauth2/rfc6750/__pycache__/validator.cpython-311.pyc,,
authlib/oauth2/rfc6750/errors.py,sha256=x5WL0g3RB0yzlklmyXWTKUy1RzQWgIDdEt-ttn3Sm1s,2858
authlib/oauth2/rfc6750/parameters.py,sha256=sCfDrLjqoyoXpwVCvtzHR7EuZZEQytark1n2p3WIU6U,1235
authlib/oauth2/rfc6750/token.py,sha256=ekzs0hbstrcCPOcluOK6D-gEFqGJk4Cgie8OzeK2dTw,4134
authlib/oauth2/rfc6750/validator.py,sha256=02_E1wiFTWlkLfA7NMNAh5EBzuDBl4jRBq7VmSG5hpQ,1462
authlib/oauth2/rfc7009/__init__.py,sha256=0vDQNPYWbgeVl8sYMdDsGOxDm-wR_Bqn3kSayQC5Z08,333
authlib/oauth2/rfc7009/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7009/__pycache__/parameters.cpython-311.pyc,,
authlib/oauth2/rfc7009/__pycache__/revocation.cpython-311.pyc,,
authlib/oauth2/rfc7009/parameters.py,sha256=eR594GRPMbEe5fGd5rXnF95mzFUGTTi_ZSbe4N2lciE,821
authlib/oauth2/rfc7009/revocation.py,sha256=N8u7g-in2pCImMzlF4XEi_2ioRp3ARO5dijL4snNVZ4,4171
authlib/oauth2/rfc7521/__init__.py,sha256=PgfdlMuj1EqqMOYXSYgDq0QvYt--I5uKchAkdgb8l-s,67
authlib/oauth2/rfc7521/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7521/__pycache__/client.cpython-311.pyc,,
authlib/oauth2/rfc7521/client.py,sha256=omtwAP-64VGMGzvcfXILe-8ADd5_wXS2RfajOtfJoUE,2997
authlib/oauth2/rfc7523/__init__.py,sha256=K8UGwqfW8JDQMSANlFrANkN4wUw15ZeEnxl0g2k2ly8,857
authlib/oauth2/rfc7523/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/assertion.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/auth.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/client.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/jwt_bearer.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/token.cpython-311.pyc,,
authlib/oauth2/rfc7523/__pycache__/validator.cpython-311.pyc,,
authlib/oauth2/rfc7523/assertion.py,sha256=AMz3Rrt_Fu5Rkcxxirdvoq86No0lbPnQ40Vt5o6BVjA,2344
authlib/oauth2/rfc7523/auth.py,sha256=ouTcmLG5QeM9H6gHNY9ICp6Uh9dfi5orelEqwX_IEjc,3872
authlib/oauth2/rfc7523/client.py,sha256=hvNPXx1ZRzF5zUDbu_mxl-UeIY2wsf3zjLXWWXGuWi4,6996
authlib/oauth2/rfc7523/jwt_bearer.py,sha256=v7CTvJ1CMVxF-KLvpXRG1qgOduHkwzx4QJFNmuKYOHQ,10231
authlib/oauth2/rfc7523/token.py,sha256=vP-Hf6UZdJcODzgPYphQfwelhWn7CukJZgVnKVrBj4w,3450
authlib/oauth2/rfc7523/validator.py,sha256=KGfnp8CHfDpKsRe_lTv3OpaAZSpxM9YVPetQISChtp0,1865
authlib/oauth2/rfc7591/__init__.py,sha256=BC7HMHZmLvgHIcpU3uRP48IHnVyeS77LADhhRw5h9aY,694
authlib/oauth2/rfc7591/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7591/__pycache__/claims.cpython-311.pyc,,
authlib/oauth2/rfc7591/__pycache__/endpoint.cpython-311.pyc,,
authlib/oauth2/rfc7591/__pycache__/errors.cpython-311.pyc,,
authlib/oauth2/rfc7591/claims.py,sha256=03kaqMJbf-pMO7Aw7eo9uZWvfwe2YXjjVJJkr28-5kg,11926
authlib/oauth2/rfc7591/endpoint.py,sha256=khemUhpxWH7SNwRvaIPBpAC1o9jXNCGp6s1U7IWtgaY,7299
authlib/oauth2/rfc7591/errors.py,sha256=oflYk0Qj9FBIU6eBvqgIpUMHK2dA73A8Y5UWOXZMmq4,1106
authlib/oauth2/rfc7592/__init__.py,sha256=8oCqEJwbLOyFLq9qmEFy2WFu6-bj9rCUpJMj0ICTZSA,295
authlib/oauth2/rfc7592/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7592/__pycache__/endpoint.cpython-311.pyc,,
authlib/oauth2/rfc7592/endpoint.py,sha256=aC8CDz5WQ8pBGyVtUVywDWdGe5qW1j9Jk1ukAjDwv9o,8820
authlib/oauth2/rfc7636/__init__.py,sha256=lWumAvrbKsDAHnagFG7LgOuZvTKSUZo7nZs2CBmX49Y,342
authlib/oauth2/rfc7636/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7636/__pycache__/challenge.cpython-311.pyc,,
authlib/oauth2/rfc7636/challenge.py,sha256=YqtHINg4J11fzF3vZZUo0psFFgt77qCZg014ZmKuukY,6234
authlib/oauth2/rfc7662/__init__.py,sha256=usKnlDsyVkBLz3eEt0_QdE-sjOfvPoZKbCL8Yzkfl8I,403
authlib/oauth2/rfc7662/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc7662/__pycache__/introspection.cpython-311.pyc,,
authlib/oauth2/rfc7662/__pycache__/models.cpython-311.pyc,,
authlib/oauth2/rfc7662/__pycache__/token_validator.cpython-311.pyc,,
authlib/oauth2/rfc7662/introspection.py,sha256=RDDvOtwYvaqdnXzLkeOwGizb4YMbbEMAj-uR6il_9bk,5292
authlib/oauth2/rfc7662/models.py,sha256=__VzvmldZmW-teoisACz5Zpg_EAiIGRcsjaC0cCeXhc,989
authlib/oauth2/rfc7662/token_validator.py,sha256=pqyIpkEixMkD1PqRngYTFGdNctyq0sMzcA7CbA3q5wg,1378
authlib/oauth2/rfc8414/__init__.py,sha256=xw7ADhba6QX6LAZB7c2XKS1XuQf9Y1NeW2vCgaVSNl4,340
authlib/oauth2/rfc8414/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc8414/__pycache__/models.cpython-311.pyc,,
authlib/oauth2/rfc8414/__pycache__/well_known.cpython-311.pyc,,
authlib/oauth2/rfc8414/models.py,sha256=x9-S3iUugrO6qMYx2fCb2IcMyHQ_gMqALU-wT86876k,19124
authlib/oauth2/rfc8414/well_known.py,sha256=3KG49E-KcDzSUBD2Ag1mfxm2rl_bRMqvJBQD21-wiOs,727
authlib/oauth2/rfc8628/__init__.py,sha256=ImL1qoQwE4RTFcQSZTRKQPBKhEoFx2fk6qqMX24VLDg,754
authlib/oauth2/rfc8628/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc8628/__pycache__/device_code.cpython-311.pyc,,
authlib/oauth2/rfc8628/__pycache__/endpoint.cpython-311.pyc,,
authlib/oauth2/rfc8628/__pycache__/errors.cpython-311.pyc,,
authlib/oauth2/rfc8628/__pycache__/models.cpython-311.pyc,,
authlib/oauth2/rfc8628/device_code.py,sha256=YAHw5VvlgV1brFKB1JzDKbduapqCHm9JO20QGbIqhY8,7900
authlib/oauth2/rfc8628/endpoint.py,sha256=ZqSDyih-3kDNu7j5mW-fartByYHMLhS0nB-TpxS1-7g,7128
authlib/oauth2/rfc8628/errors.py,sha256=XDh0Bw64xiaRNtggyFD5ItFgNZdve0D0n7f3cW6gi2s,922
authlib/oauth2/rfc8628/models.py,sha256=a8QgtbAxSFcyFeupMzuP7giJadnl51mSeP22VOdPz_0,839
authlib/oauth2/rfc8693/__init__.py,sha256=mPLmPTt-oVApxP2N1hvOMxfRY6zHvksDDrgZQH_8evU,162
authlib/oauth2/rfc8693/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc9068/__init__.py,sha256=8JCvCUfEnHLqPkEm96MgdeVYlyCzE6fLSeAWYVWB_sc,332
authlib/oauth2/rfc9068/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc9068/__pycache__/claims.cpython-311.pyc,,
authlib/oauth2/rfc9068/__pycache__/introspection.cpython-311.pyc,,
authlib/oauth2/rfc9068/__pycache__/revocation.cpython-311.pyc,,
authlib/oauth2/rfc9068/__pycache__/token.cpython-311.pyc,,
authlib/oauth2/rfc9068/__pycache__/token_validator.cpython-311.pyc,,
authlib/oauth2/rfc9068/claims.py,sha256=Obfz-3zkju2GjT7U7Uy09BS1D70CK_sNoblw0Faw7iQ,1027
authlib/oauth2/rfc9068/introspection.py,sha256=-aSbIqXFzoBY-Lfs-3xVuz7uYiXxQS1C4ruIYiS92j4,4412
authlib/oauth2/rfc9068/revocation.py,sha256=txYDfyq3sQ7wNAGM3HmfscgE4vdlWkwY4FFGnPe8RiM,2650
authlib/oauth2/rfc9068/token.py,sha256=lHg44OTEZfNWwRWXBlQK1-7Y7044p640zsoknJeSRj0,8597
authlib/oauth2/rfc9068/token_validator.py,sha256=JxEMuf9uDmoNDCHIytXBTvPMqwivQ8f2gMCj5zljAuk,6961
authlib/oauth2/rfc9101/__init__.py,sha256=OV66ZJbs2h_iJ0iPH3UvWg_kUpCxDI2l82ul1hCUfdI,267
authlib/oauth2/rfc9101/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc9101/__pycache__/authorization_server.cpython-311.pyc,,
authlib/oauth2/rfc9101/__pycache__/discovery.cpython-311.pyc,,
authlib/oauth2/rfc9101/__pycache__/errors.cpython-311.pyc,,
authlib/oauth2/rfc9101/__pycache__/registration.cpython-311.pyc,,
authlib/oauth2/rfc9101/authorization_server.py,sha256=3B9YGqTuHlWHrS_qS6tBdScFk5ZqkRraukUS8kj--2o,11785
authlib/oauth2/rfc9101/discovery.py,sha256=FxdBhbiCZKt12ctBnxG9e-R4vWg7RuH6mcU0JQZh7Yk,859
authlib/oauth2/rfc9101/errors.py,sha256=aZLygyagATIo1UZ2iAF3DoBYtJGB0n03hqqoKQpKpvE,999
authlib/oauth2/rfc9101/registration.py,sha256=shn2478X4A2qp3kp7bcXT5cATvf-bpfPw5lrWqrLN-A,1251
authlib/oauth2/rfc9207/__init__.py,sha256=ztZFwOmaOpohYy1LKI9LYIY_RDR-hsCr6pf5AvIb6lE,152
authlib/oauth2/rfc9207/__pycache__/__init__.cpython-311.pyc,,
authlib/oauth2/rfc9207/__pycache__/discovery.cpython-311.pyc,,
authlib/oauth2/rfc9207/__pycache__/parameter.cpython-311.pyc,,
authlib/oauth2/rfc9207/discovery.py,sha256=U_2_raYPDjq20ReeRfjd2Dlj8h2l6oMv0AvhkTzgQw0,954
authlib/oauth2/rfc9207/parameter.py,sha256=LoT3SOfeR0JIMEGMI99KlgiQPwYuBpoqF4x8JcJuc1g,1664
authlib/oidc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
authlib/oidc/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/core/__init__.py,sha256=VSzzSDb5HIrFHnjpLQ8qwxgxLHnOqaCbHsLLnldbnO4,863
authlib/oidc/core/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/core/__pycache__/claims.cpython-311.pyc,,
authlib/oidc/core/__pycache__/errors.cpython-311.pyc,,
authlib/oidc/core/__pycache__/models.cpython-311.pyc,,
authlib/oidc/core/__pycache__/userinfo.cpython-311.pyc,,
authlib/oidc/core/__pycache__/util.cpython-311.pyc,,
authlib/oidc/core/claims.py,sha256=tRPrtRP_ZNDD__4kgrdLR6qhzkDsg52mnxO-wbHCr3g,10384
authlib/oidc/core/errors.py,sha256=f-71kRG2Nf2cN95f7PCKucgCcPphITtGBhcsjcjhE6U,2892
authlib/oidc/core/grants/__init__.py,sha256=-SjelrkrD35bnb5rIZiBpbiLxgiJtwMXHJXHr8ovQyo,243
authlib/oidc/core/grants/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/core/grants/__pycache__/_legacy.cpython-311.pyc,,
authlib/oidc/core/grants/__pycache__/code.cpython-311.pyc,,
authlib/oidc/core/grants/__pycache__/hybrid.cpython-311.pyc,,
authlib/oidc/core/grants/__pycache__/implicit.cpython-311.pyc,,
authlib/oidc/core/grants/__pycache__/util.cpython-311.pyc,,
authlib/oidc/core/grants/_legacy.py,sha256=LEAP7wtC2i4GfycHBOsrBAtYIp-zHczPXdv1VoI1uxk,3806
authlib/oidc/core/grants/code.py,sha256=TlB9ubl29yEUaKHycrhSu1JqjWsDKZ1cmh6m5phuLtE,5406
authlib/oidc/core/grants/hybrid.py,sha256=zihRONd8NIQVBa8PSdO2CF5LdDMt0a_hS7nOBrqGS_Q,3445
authlib/oidc/core/grants/implicit.py,sha256=ueOf-yw6simnC87xY6MqBvDWRe0PzvJo23SBrNwpuA8,7013
authlib/oidc/core/grants/util.py,sha256=qMr3AE6BsrmgZOH_eXD6Qv5cxJXUBhpWxK0K70QCnkE,4693
authlib/oidc/core/models.py,sha256=KjBcQnNJkVYnLWYeQuwb-K_DWDst78MZRLJXjqhtMtw,1464
authlib/oidc/core/userinfo.py,sha256=-iMjUluTx5KjGHZZ6Ob7EpXLatUumkirUDLFvwNihK4,4931
authlib/oidc/core/util.py,sha256=ihuKYlhQAVmK5SIhwxn5k_PqVB1q0Lmwl1tuwRTQuf4,502
authlib/oidc/discovery/__init__.py,sha256=rapkktd4XN0t6LeHOWFPeeKEzlF6gBHvWsTK9JPLPY0,305
authlib/oidc/discovery/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/discovery/__pycache__/models.cpython-311.pyc,,
authlib/oidc/discovery/__pycache__/well_known.cpython-311.pyc,,
authlib/oidc/discovery/models.py,sha256=N3WHwN7w4_nut6rBIfegr7-6lDhN_rN2ATsKfc6O7uI,12832
authlib/oidc/discovery/well_known.py,sha256=ry1VHxCmwvjmlMxOFEbSC6FsE_ttijyRcn2xUpv2CaU,574
authlib/oidc/registration/__init__.py,sha256=lV_Og-DMFKzWWYsdK04oF83xKUGTE2gQhikPPsOdW84,77
authlib/oidc/registration/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/registration/__pycache__/claims.cpython-311.pyc,,
authlib/oidc/registration/claims.py,sha256=Zj6VahKPxZTScJkDdWoC_b-0bA0fLUJX1v6L7GduKYw,16320
authlib/oidc/rpinitiated/__init__.py,sha256=QCBkwX7QE5UTkwauywP-u1Ejsp0TeFmNKdnZQl64Dsg,484
authlib/oidc/rpinitiated/__pycache__/__init__.cpython-311.pyc,,
authlib/oidc/rpinitiated/__pycache__/discovery.cpython-311.pyc,,
authlib/oidc/rpinitiated/__pycache__/end_session.cpython-311.pyc,,
authlib/oidc/rpinitiated/__pycache__/registration.cpython-311.pyc,,
authlib/oidc/rpinitiated/discovery.py,sha256=YDKf1w3kKEYb7867RmCjTYe7ODOIyGwa7zZLENciSpA,576
authlib/oidc/rpinitiated/end_session.py,sha256=TRTFfwREtSLOwtzMS2xtKrT5Saa41ScFnEPzqxqrbr0,11088
authlib/oidc/rpinitiated/registration.py,sha256=rsL0vF4sP25ZLl5pORBx2FcuUbaUeE_G_jzFra2V1-0,2023
@@ -0,0 +1,6 @@
Wheel-Version: 1.0
Generator: setuptools (84.0.0)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any
@@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2017, Hsiaoming Yang
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
authlib