diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cognitojwt.spec | 266 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 268 insertions, 0 deletions
@@ -0,0 +1 @@ +/cognitojwt-1.4.1.tar.gz diff --git a/python-cognitojwt.spec b/python-cognitojwt.spec new file mode 100644 index 0000000..28144a4 --- /dev/null +++ b/python-cognitojwt.spec @@ -0,0 +1,266 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cognitojwt +Version: 1.4.1 +Release: 1 +Summary: Decode and verify Amazon Cognito JWT tokens +License: MIT +URL: http://github.com/borisrozumnuk/cognitojwt +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fc/40/657173a7216980b6069da6f57b4e657754b726c088e4a1760460c70b7e34/cognitojwt-1.4.1.tar.gz +BuildArch: noarch + +Requires: python3-jose[cryptography] +Requires: python3-aiofile +Requires: python3-aiohttp +Requires: python3-async-lru +Requires: python3-requests +Requires: python3-async-lru +Requires: python3-attrs +Requires: python3-requests +Requires: python3-aiohttp +Requires: python3-pytest +Requires: python3-pytest-asyncio + +%description +[](https://travis-ci.org/borisrozumnuk/cognitojwt) + +# Decode and verify [Amazon Cognito](https://aws.amazon.com/cognito/) JWT tokens + +### Note: tested on Python >= 3.6, compatible with PEP-492 (async/await coroutines syntax) + +### Installation + +Package works in two modes: synchronous - [requests](https://github.com/requests/requests) as http-client and asynchronous - [aiohttp](https://github.com/aio-libs/aiohttp) as http-client. +In order to avoid installing unnecessary dependencies I separated installation flow into two modes: + +* Async mode - `pip install cognitojwt[async]` +* Sync mode - `pip install cognitojwt[sync]` + +### Usage + +```python +import cognitojwt + +id_token = '<YOUR_TOKEN_HERE>' +REGION = '**-****-*' +USERPOOL_ID = 'eu-west-1_*******' +APP_CLIENT_ID = '1p3*********' + +# Sync mode +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +# Async mode +verified_claims: dict = await cognitojwt.decode_async( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +``` + +Note: if the application is deployed inside a private vpc without internet gateway, the application will not be able to download the JWKS file. +In this case set the `AWS_COGNITO_JWKS_PATH` environment variable referencing the absolute or relative path of the jwks.json file. + +It is possible to allow multiple app client ids by passing the value as a Container instance such as a list or tuple: +```python +ALLOWED_CLIENT_IDS = ('client_one', 'client_two') + +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=ALLOWED_CLIENT_IDS, + testmode=True # Disable token expiration check for testing purposes +) +``` + + + + +%package -n python3-cognitojwt +Summary: Decode and verify Amazon Cognito JWT tokens +Provides: python-cognitojwt +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cognitojwt +[](https://travis-ci.org/borisrozumnuk/cognitojwt) + +# Decode and verify [Amazon Cognito](https://aws.amazon.com/cognito/) JWT tokens + +### Note: tested on Python >= 3.6, compatible with PEP-492 (async/await coroutines syntax) + +### Installation + +Package works in two modes: synchronous - [requests](https://github.com/requests/requests) as http-client and asynchronous - [aiohttp](https://github.com/aio-libs/aiohttp) as http-client. +In order to avoid installing unnecessary dependencies I separated installation flow into two modes: + +* Async mode - `pip install cognitojwt[async]` +* Sync mode - `pip install cognitojwt[sync]` + +### Usage + +```python +import cognitojwt + +id_token = '<YOUR_TOKEN_HERE>' +REGION = '**-****-*' +USERPOOL_ID = 'eu-west-1_*******' +APP_CLIENT_ID = '1p3*********' + +# Sync mode +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +# Async mode +verified_claims: dict = await cognitojwt.decode_async( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +``` + +Note: if the application is deployed inside a private vpc without internet gateway, the application will not be able to download the JWKS file. +In this case set the `AWS_COGNITO_JWKS_PATH` environment variable referencing the absolute or relative path of the jwks.json file. + +It is possible to allow multiple app client ids by passing the value as a Container instance such as a list or tuple: +```python +ALLOWED_CLIENT_IDS = ('client_one', 'client_two') + +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=ALLOWED_CLIENT_IDS, + testmode=True # Disable token expiration check for testing purposes +) +``` + + + + +%package help +Summary: Development documents and examples for cognitojwt +Provides: python3-cognitojwt-doc +%description help +[](https://travis-ci.org/borisrozumnuk/cognitojwt) + +# Decode and verify [Amazon Cognito](https://aws.amazon.com/cognito/) JWT tokens + +### Note: tested on Python >= 3.6, compatible with PEP-492 (async/await coroutines syntax) + +### Installation + +Package works in two modes: synchronous - [requests](https://github.com/requests/requests) as http-client and asynchronous - [aiohttp](https://github.com/aio-libs/aiohttp) as http-client. +In order to avoid installing unnecessary dependencies I separated installation flow into two modes: + +* Async mode - `pip install cognitojwt[async]` +* Sync mode - `pip install cognitojwt[sync]` + +### Usage + +```python +import cognitojwt + +id_token = '<YOUR_TOKEN_HERE>' +REGION = '**-****-*' +USERPOOL_ID = 'eu-west-1_*******' +APP_CLIENT_ID = '1p3*********' + +# Sync mode +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +# Async mode +verified_claims: dict = await cognitojwt.decode_async( + id_token, + REGION, + USERPOOL_ID, + app_client_id=APP_CLIENT_ID, # Optional + testmode=True # Disable token expiration check for testing purposes +) + +``` + +Note: if the application is deployed inside a private vpc without internet gateway, the application will not be able to download the JWKS file. +In this case set the `AWS_COGNITO_JWKS_PATH` environment variable referencing the absolute or relative path of the jwks.json file. + +It is possible to allow multiple app client ids by passing the value as a Container instance such as a list or tuple: +```python +ALLOWED_CLIENT_IDS = ('client_one', 'client_two') + +verified_claims: dict = cognitojwt.decode( + id_token, + REGION, + USERPOOL_ID, + app_client_id=ALLOWED_CLIENT_IDS, + testmode=True # Disable token expiration check for testing purposes +) +``` + + + + +%prep +%autosetup -n cognitojwt-1.4.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cognitojwt -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.1-1 +- Package Spec generated @@ -0,0 +1 @@ +3d636c07c6b59f0e3e0a28a836df67cf cognitojwt-1.4.1.tar.gz |