flask-cognito-integration
flask-cognito-integration copied to clipboard
import error
When I try importing the flask_awscognito library in my init.py module I get the below error. Any ideas what I am doing wrong?
from flask_awscognito import AWSCognitoAuthentication
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = 'xxxxx'
app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}'
db.init_app(app)
from .views import views
#cognito auth
app.config['AWS_DEFAULT_REGION'] = 'us-east-1'
app.config['AWS_COGNITO_DOMAIN'] = 'cognitodomain.com'
app.config['AWS_COGNITO_USER_POOL_ID'] = 'us-east-1_XXXXXX'
app.config['AWS_COGNITO_USER_POOL_CLIENT_ID'] = 'YYYYYYYY'
app.config['AWS_COGNITO_USER_POOL_CLIENT_SECRET'] = 'ZZZZZZZZZ'
app.config['AWS_COGNITO_REDIRECT_URL'] = 'http://localhost:5000/aws_cognito_redirect'
aws_auth = AWSCognitoAuthentication(app)
Error: While importing 'main', an ImportError was raised:
Traceback (most recent call last):
File "/home/pbarone/docker/myflaskapp/.venv/lib/python3.10/site-packages/flask/cli.py", line 219, in locate_app
__import__(module_name)
File "/home/pbarone/docker/myflaskapp/main.py", line 1, in <module>
from website import create_app
File "/home/pbarone/docker/myflaskapp/website/__init__.py", line 5, in <module>
from flask_awscognito import AWSCognitoAuthentication
File "/home/pbarone/docker/myflaskapp/.venv/lib/python3.10/site-packages/flask_awscognito/__init__.py", line 1, in <module>
from flask_awscognito.plugin import AWSCognitoAuthentication
File "/home/pbarone/docker/myflaskapp/.venv/lib/python3.10/site-packages/flask_awscognito/plugin.py", line 3, in <module>
from flask import _app_ctx_stack, abort, request, make_response, jsonify, g
ImportError: cannot import name '_app_ctx_stack' from 'flask' (/home/pbarone/docker/myflaskapp/.venv/lib/python3.10/site-packages/flask/__init__.py)
The code is now around four years old, and it's not something I've looked into in a while. My guess would be in that time it looks like these libraries have changed, and the example code probably needs a little massaging to work in 2024.