from flask import Blueprint, request, jsonify from flask_jwt_extended import create_access_token, jwt_required, get_jwt_identity from werkzeug.security import generate_password_hash, check_password_hash from database import User, db auth_blueprint = Blueprint('auth', __name__) @auth_blueprint.post('/register') def register_endpoint(): data = request.json login = data.get('login') password = data.get('password') password_hash = generate_password_hash(password, method='sha256') new_user = User(login=login, password_hash=password_hash) db.session.add(new_user) db.session.commit() return jsonify(ok=True) @auth_blueprint.post('/login') def login_endpoint(): data = request.json print(data) login = data.get('login') user = User.query.filter_by(login=login).first() if not user: return jsonify(ok=False, accessToken=''), 401 password = data.get('password') if not check_password_hash(user.password_hash, password): return jsonify(ok=False, accessToken=''), 401 access_token = create_access_token(identity=user.id) return jsonify(ok=True, accessToken=access_token)