#13 Made login page that actually send request to backend. CORS stuff.

This commit is contained in:
2023-03-19 02:10:12 -04:00
parent 21428c520d
commit 6e7e3e66f5
6 changed files with 55 additions and 21 deletions

View File

@@ -8,8 +8,6 @@ from config import Config
db = SQLAlchemy()
migrate = Migrate()
login = LoginManager()
login.login_view = "login"
login.login_message = "Please log in to access this page."
def create_app(config_class=Config):

View File

@@ -1,6 +1,6 @@
from flask_login import login_user, logout_user
from flask_login import login_required, login_user, logout_user
from app.bp import bp
from flask import Response, jsonify, request
from flask import jsonify, request
from app.errors import error_response
from flask_login import current_user
@@ -20,10 +20,10 @@ def login_route():
if current_user.is_authenticated:
return error_response(400, "A user is already logged in!")
if not data.get("user_id") or not data.get("password"):
return error_response(400, "Must supply user_id and password")
if not data.get("username") or not data.get("password"):
return error_response(400, "Must supply username and password")
user = User.query.get(data.get("user_id"))
user = User.query.filter_by(username=data["username"]).first()
if not user:
return error_response(400, "User not found")
@@ -36,10 +36,8 @@ def login_route():
@bp.route("/logout", methods=["POST"])
@login_required
def logout_route():
if not current_user.is_authenticated:
return error_response(400, "No users are logged in!")
resp = jsonify(current_user.to_dict())
logout_user()
return resp

View File

@@ -3,10 +3,12 @@ dotenv.load_dotenv()
from app import create_app, db
from app.models import User
from flask_cors import CORS
app = create_app()
CORS(app, supports_credentials=True, resources={r"/.*": {"origins": r".*localhost.*"}})
@app.shell_context_processor
def make_shell_context():
return {'db': db, 'User': User}
return {"db": db, "User": User}

View File

@@ -1,6 +1,7 @@
alembic==1.10.2
click==8.1.3
Flask==2.2.3
Flask-Cors==3.0.10
Flask-HTTPAuth==4.7.0
Flask-Login==0.6.2
Flask-Migrate==4.0.4
@@ -12,6 +13,7 @@ Jinja2==3.1.2
Mako==1.2.4
MarkupSafe==2.1.2
python-dotenv==1.0.0
six==1.16.0
SQLAlchemy==2.0.6
typing_extensions==4.5.0
Werkzeug==2.2.3