{"id":15019716,"url":"https://github.com/deejungx/flask-cognito-extended","last_synced_at":"2025-06-11T13:04:18.846Z","repository":{"id":51245134,"uuid":"314991503","full_name":"deejungx/flask-cognito-extended","owner":"deejungx","description":"Flask implementation for Amazon Cognito","archived":false,"fork":false,"pushed_at":"2021-08-19T14:18:56.000Z","size":99,"stargazers_count":6,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T02:36:25.014Z","etag":null,"topics":["amazon-cognito","authentication","cognito-identity","flask","jwt","jwt-authentication"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deejungx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-22T08:25:35.000Z","updated_at":"2023-03-08T01:19:34.000Z","dependencies_parsed_at":"2022-09-16T13:31:28.401Z","dependency_job_id":null,"html_url":"https://github.com/deejungx/flask-cognito-extended","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deejungx%2Fflask-cognito-extended","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deejungx%2Fflask-cognito-extended/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deejungx%2Fflask-cognito-extended/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deejungx%2Fflask-cognito-extended/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deejungx","download_url":"https://codeload.github.com/deejungx/flask-cognito-extended/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237990675,"owners_count":19398476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-cognito","authentication","cognito-identity","flask","jwt","jwt-authentication"],"created_at":"2024-09-24T19:53:55.800Z","updated_at":"2025-02-09T17:31:10.621Z","avatar_url":"https://github.com/deejungx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-Cognito-Extended\n\n[![Build Status](https://travis-ci.com/deejungx/flask-cognito-extended.svg?branch=master)](https://travis-ci.com/deejungx/flask-cognito-extended)\n[![codecov](https://codecov.io/gh/deejungx/flask-cognito-extended/branch/master/graph/badge.svg?token=U1N05DKQ1E)](https://codecov.io/gh/deejungx/flask-cognito-extended)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nFlask-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.\n\n```bash\npip install Flask-Cognito-Extended\n```\n\n### Usage\n\n```python\nfrom flask import Flask, jsonify\nfrom flask_cognito_extended import (\n    CognitoManager, login_handler,\n    callback_handler, get_jwt_identity\n)\n\napp = Flask(__name__)\n\n# Setup the flask-cognito-extended extention\napp.config['COGNITO_SCOPE'] = \"aws.cognito.signin.user.admin+email+openid+profile\"\napp.config['COGNITO_REGION'] = \"us-east-1\"\napp.config['COGNITO_USER_POOL_ID'] = \"us-east-1_xxxxxxx\"\napp.config['COGNITO_CLIENT_ID'] = \"xxxxxxxxxxxxxxxxxxxxxxxxxx\"\napp.config['COGNITO_CLIENT_SECRET'] = \"xxxxxxxxxxxxxxxxxxxxxxxxxx\" # optional\napp.config['COGNITO_DOMAIN'] = \"https://yourdomainhere.com\"\napp.config['COGNITO_REDIRECT_URI'] = \"https://yourdomainhere/callback\"\n\ncognito = CognitoManager(app)\n\n# Use @login_handler decorator on your login route\n@app.route('/login', methods=['GET'])\n@login_handler\ndef login():\n    return jsonify(msg=\"User already signed in.\"), 200\n\n\n# Use @callback_handler decorator on your callback route\n@app.route('/callback', methods=['GET'])\n@callback_handler\ndef callback():\n    # fetch the unique 'sub' property of the User\n    current_user = get_jwt_identity()\n    return jsonify(logged_in_as=current_user), 200\n\n\nif __name__ == '__main__':\n    app.run(debug=True)\n```\n\n### Development Setup\n\nUsing pipenv\n```bash\npipenv install --dev \n```\nUsing virtualenv\n```bash\npython3 -m venv env\nsource env/bin/activate\npip install -r requirements.txt\n```\n\n### Contributing\n\n1. Fork repo- https://github.com/deejungx/flask-cognito-extended/fork\n2. Create your feature branch - `git checkout -b feature/foo`\n3. Commit your changes - `git commit -am \"Added foo\"`\n4. Push to the branch - `git push origin feature/foo`\n5. Create a new pull request\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeejungx%2Fflask-cognito-extended","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeejungx%2Fflask-cognito-extended","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeejungx%2Fflask-cognito-extended/lists"}