diff options
Diffstat (limited to 'animism-align/cli/app/controllers/auth_controller.py')
| -rw-r--r-- | animism-align/cli/app/controllers/auth_controller.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/animism-align/cli/app/controllers/auth_controller.py b/animism-align/cli/app/controllers/auth_controller.py new file mode 100644 index 0000000..9ed0ac3 --- /dev/null +++ b/animism-align/cli/app/controllers/auth_controller.py @@ -0,0 +1,22 @@ +from flask import request, jsonify +from flask_classful import FlaskView, route +from flask_jwt_extended import create_access_token + +from app.settings import app_cfg +from app.sql.common import db, Session +from app.sql.models.user import User + +from app.utils.auth_utils import authenticate + +class AuthView(FlaskView): + @route('/login', methods=['POST']) + def login(self): + username = request.json.get('username', None) + password = request.json.get('password', None) + + user = authenticate(username, password) + + response = { + 'token': create_access_token(identity=user.toJSON()) + } + return jsonify(response), 200 |
