瀏覽代碼

修复根据用户验证码获取访问令牌时创建用户问题

locky 1 年之前
父節點
當前提交
ec7d014cb0
共有 1 個文件被更改,包括 21 次插入17 次删除
  1. 21 17
      controller/AppToApp.py

+ 21 - 17
controller/AppToApp.py

@@ -41,23 +41,27 @@ class Oa2View(View):
         if not all([user_id, region_code]):
             return response.json(10, 'error params')
 
-        now_time = int(time.time())
-        user_authorization_code = hashlib.md5((str(uuid.uuid1()) + str(now_time)).encode('utf-8')).hexdigest()
-        access_token = CommonService.encrypt_data(randomlength=32)
-        refresh_token = CommonService.encrypt_data(randomlength=32)
-        user_qs = UserModel.objects.filter(userID=user_id)
-        # 用户不存在则创建
-        if not user_qs.exists():
-            UserModel.objects.create(userID=user_id, access_token=access_token, refresh_token=refresh_token,
-                                     user_authorization_code=user_authorization_code, region_code=region_code,
-                                     addTime=now_time, updTime=now_time)
-        else:
-            user_qs.update(access_token=access_token, refresh_token=refresh_token, region_code=region_code,
-                           user_authorization_code=user_authorization_code, updTime=now_time)
-        res = {
-            'user_authorization_code': user_authorization_code
-        }
-        return response.json(0, res)
+        try:
+            now_time = int(time.time())
+            user_authorization_code = hashlib.md5((str(uuid.uuid1()) + str(now_time)).encode('utf-8')).hexdigest()
+            access_token = CommonService.encrypt_data(randomlength=32)
+            refresh_token = CommonService.encrypt_data(randomlength=32)
+            user_qs = UserModel.objects.filter(userID=user_id)
+            # 用户不存在则创建
+            if not user_qs.exists():
+                code = CommonService.encrypt_data(32)
+                UserModel.objects.create(userID=user_id, access_token=access_token, refresh_token=refresh_token, code=code,
+                                         user_authorization_code=user_authorization_code, region_code=region_code,
+                                         addTime=now_time, updTime=now_time)
+            else:
+                user_qs.update(access_token=access_token, refresh_token=refresh_token, region_code=region_code,
+                               user_authorization_code=user_authorization_code, updTime=now_time)
+            res = {
+                'user_authorization_code': user_authorization_code
+            }
+            return response.json(0, res)
+        except Exception as e:
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
     @staticmethod
     def get_token_with_auth_code(request_dict, response):