%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 [![Build Status](https://travis-ci.org/borisrozumnuk/cognitojwt.svg?branch=master)](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 = '' 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 [![Build Status](https://travis-ci.org/borisrozumnuk/cognitojwt.svg?branch=master)](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 = '' 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 [![Build Status](https://travis-ci.org/borisrozumnuk/cognitojwt.svg?branch=master)](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 = '' 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 - 1.4.1-1 - Package Spec generated