%global _empty_manifest_terminate_build 0 Name: python-Flask-Cognito-Extended Version: 0.2.7 Release: 1 Summary: Extended Cognito integration with Flask License: MIT URL: https://github.com/deejungx/flask-cognito-extended Source0: https://mirrors.aliyun.com/pypi/web/packages/95/fb/46eed6ad252c5ac81bd40144495fe49f3a151b10d8e8afe95ee77712c82f/Flask-Cognito-Extended-0.2.7.tar.gz BuildArch: noarch Requires: python3-Flask Requires: python3-jose[cryptography] Requires: python3-PyJWT Requires: python3-requests %description # Flask-Cognito-Extended [![Build Status](https://travis-ci.com/deejungx/flask-cognito-extended.svg?branch=master)](https://travis-ci.com/deejungx/flask-cognito-extended) [![codecov](https://codecov.io/gh/deejungx/flask-cognito-extended/branch/master/graph/badge.svg?token=U1N05DKQ1E)](https://codecov.io/gh/deejungx/flask-cognito-extended) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Flask-Cognito-Extended is a Flask implementation of Amazon Cognito. This extension helps quickly implement authentication and authorization solutions based on Amazon's Cognito. It contains helpful functions and properties to handle token based authentication flows. ```bash pip install Flask-Cognito-Extended ``` ### Usage ```python from flask import Flask, jsonify from flask_cognito_extended import ( CognitoManager, login_handler, callback_handler, get_jwt_identity ) app = Flask(__name__) # Setup the flask-cognito-extended extention app.config['COGNITO_SCOPE'] = "aws.cognito.signin.user.admin+email+openid+profile" app.config['COGNITO_REGION'] = "us-east-1" app.config['COGNITO_USER_POOL_ID'] = "us-east-1_xxxxxxx" app.config['COGNITO_CLIENT_ID'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" app.config['COGNITO_CLIENT_SECRET'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" # optional app.config['COGNITO_DOMAIN'] = "https://yourdomainhere.com" app.config['COGNITO_REDIRECT_URI'] = "https://yourdomainhere/callback" cognito = CognitoManager(app) # Use @login_handler decorator on your login route @app.route('/login', methods=['GET']) @login_handler def login(): return jsonify(msg="User already signed in."), 200 # Use @callback_handler decorator on your callback route @app.route('/callback', methods=['GET']) @callback_handler def callback(): # fetch the unique 'sub' property of the User current_user = get_jwt_identity() return jsonify(logged_in_as=current_user), 200 if __name__ == '__main__': app.run(debug=True) ``` ### Development Setup Using pipenv ```bash pipenv install --dev ``` Using virtualenv ```bash python3 -m venv env source env/bin/activate pip install -r requirements.txt ``` ### Contributing 1. Fork repo- https://github.com/deejungx/flask-cognito-extended/fork 2. Create your feature branch - `git checkout -b feature/foo` 3. Commit your changes - `git commit -am "Added foo"` 4. Push to the branch - `git push origin feature/foo` 5. Create a new pull request %package -n python3-Flask-Cognito-Extended Summary: Extended Cognito integration with Flask Provides: python-Flask-Cognito-Extended BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-Flask-Cognito-Extended # Flask-Cognito-Extended [![Build Status](https://travis-ci.com/deejungx/flask-cognito-extended.svg?branch=master)](https://travis-ci.com/deejungx/flask-cognito-extended) [![codecov](https://codecov.io/gh/deejungx/flask-cognito-extended/branch/master/graph/badge.svg?token=U1N05DKQ1E)](https://codecov.io/gh/deejungx/flask-cognito-extended) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Flask-Cognito-Extended is a Flask implementation of Amazon Cognito. This extension helps quickly implement authentication and authorization solutions based on Amazon's Cognito. It contains helpful functions and properties to handle token based authentication flows. ```bash pip install Flask-Cognito-Extended ``` ### Usage ```python from flask import Flask, jsonify from flask_cognito_extended import ( CognitoManager, login_handler, callback_handler, get_jwt_identity ) app = Flask(__name__) # Setup the flask-cognito-extended extention app.config['COGNITO_SCOPE'] = "aws.cognito.signin.user.admin+email+openid+profile" app.config['COGNITO_REGION'] = "us-east-1" app.config['COGNITO_USER_POOL_ID'] = "us-east-1_xxxxxxx" app.config['COGNITO_CLIENT_ID'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" app.config['COGNITO_CLIENT_SECRET'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" # optional app.config['COGNITO_DOMAIN'] = "https://yourdomainhere.com" app.config['COGNITO_REDIRECT_URI'] = "https://yourdomainhere/callback" cognito = CognitoManager(app) # Use @login_handler decorator on your login route @app.route('/login', methods=['GET']) @login_handler def login(): return jsonify(msg="User already signed in."), 200 # Use @callback_handler decorator on your callback route @app.route('/callback', methods=['GET']) @callback_handler def callback(): # fetch the unique 'sub' property of the User current_user = get_jwt_identity() return jsonify(logged_in_as=current_user), 200 if __name__ == '__main__': app.run(debug=True) ``` ### Development Setup Using pipenv ```bash pipenv install --dev ``` Using virtualenv ```bash python3 -m venv env source env/bin/activate pip install -r requirements.txt ``` ### Contributing 1. Fork repo- https://github.com/deejungx/flask-cognito-extended/fork 2. Create your feature branch - `git checkout -b feature/foo` 3. Commit your changes - `git commit -am "Added foo"` 4. Push to the branch - `git push origin feature/foo` 5. Create a new pull request %package help Summary: Development documents and examples for Flask-Cognito-Extended Provides: python3-Flask-Cognito-Extended-doc %description help # Flask-Cognito-Extended [![Build Status](https://travis-ci.com/deejungx/flask-cognito-extended.svg?branch=master)](https://travis-ci.com/deejungx/flask-cognito-extended) [![codecov](https://codecov.io/gh/deejungx/flask-cognito-extended/branch/master/graph/badge.svg?token=U1N05DKQ1E)](https://codecov.io/gh/deejungx/flask-cognito-extended) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Flask-Cognito-Extended is a Flask implementation of Amazon Cognito. This extension helps quickly implement authentication and authorization solutions based on Amazon's Cognito. It contains helpful functions and properties to handle token based authentication flows. ```bash pip install Flask-Cognito-Extended ``` ### Usage ```python from flask import Flask, jsonify from flask_cognito_extended import ( CognitoManager, login_handler, callback_handler, get_jwt_identity ) app = Flask(__name__) # Setup the flask-cognito-extended extention app.config['COGNITO_SCOPE'] = "aws.cognito.signin.user.admin+email+openid+profile" app.config['COGNITO_REGION'] = "us-east-1" app.config['COGNITO_USER_POOL_ID'] = "us-east-1_xxxxxxx" app.config['COGNITO_CLIENT_ID'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" app.config['COGNITO_CLIENT_SECRET'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx" # optional app.config['COGNITO_DOMAIN'] = "https://yourdomainhere.com" app.config['COGNITO_REDIRECT_URI'] = "https://yourdomainhere/callback" cognito = CognitoManager(app) # Use @login_handler decorator on your login route @app.route('/login', methods=['GET']) @login_handler def login(): return jsonify(msg="User already signed in."), 200 # Use @callback_handler decorator on your callback route @app.route('/callback', methods=['GET']) @callback_handler def callback(): # fetch the unique 'sub' property of the User current_user = get_jwt_identity() return jsonify(logged_in_as=current_user), 200 if __name__ == '__main__': app.run(debug=True) ``` ### Development Setup Using pipenv ```bash pipenv install --dev ``` Using virtualenv ```bash python3 -m venv env source env/bin/activate pip install -r requirements.txt ``` ### Contributing 1. Fork repo- https://github.com/deejungx/flask-cognito-extended/fork 2. Create your feature branch - `git checkout -b feature/foo` 3. Commit your changes - `git commit -am "Added foo"` 4. Push to the branch - `git push origin feature/foo` 5. Create a new pull request %prep %autosetup -n Flask-Cognito-Extended-0.2.7 %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-Flask-Cognito-Extended -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.2.7-1 - Package Spec generated