Gogs преди 7 години
родител
ревизия
280b729032
променени са 2 файла, в които са добавени 7 реда и са изтрити 6 реда
  1. 4 3
      api/resources/jwt_resource.py
  2. 3 3
      api/utils/jwt_token.py

+ 4 - 3
api/resources/jwt_resource.py

@@ -94,11 +94,12 @@ class JWTResource(Resource):
                 'error': 'token not provided in request'
             })
 
-        nice_token = jwt_token.check_token(body['token'])
+        (user, ok) = jwt_token.check_token(body['token'])
 
         bundle = self.build_bundle(obj={
-            'status': (401, 200)[bool(nice_token)],
-            'token': body['token']
+            'status': (401, 200)[bool(ok)],
+            'token': body['token'],
+            'username': (None, user.username)[bool(user.username)]
         }, request=request)
 
         return self.create_response(request, bundle.obj)

+ 3 - 3
api/utils/jwt_token.py

@@ -79,12 +79,12 @@ def check_token(token):
     payload = explode_token(token)
      
     if not payload:
-        return False
+        return (None, False)
 
     user = User.objects.get(pk=payload['uid'])
 
     # Check if exists user
     if not user:
-        return False
+        return (None, False)
 
-    return constant_time_compare(user.password, payload['password'])
+    return (user, constant_time_compare(user.password, payload['password']))