summaryrefslogtreecommitdiff
path: root/animism-align/cli/app/controllers/auth_controller.py
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/cli/app/controllers/auth_controller.py')
-rw-r--r--animism-align/cli/app/controllers/auth_controller.py22
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