Kaynağa Gözat

云存日志UID报错处理

chenshibin 3 yıl önce
ebeveyn
işleme
6b4e6f78f9
1 değiştirilmiş dosya ile 4 ekleme ve 1 silme
  1. 4 1
      Service/CloudLogs.py

+ 4 - 1
Service/CloudLogs.py

@@ -4,12 +4,13 @@ import datetime
 import time
 import time
 
 
 from bson import utc
 from bson import utc
+from jwt import jwt
 
 
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from Service.MiscellService import MiscellService
 from Service.MiscellService import MiscellService
 from Service.TemplateService import TemplateService
 from Service.TemplateService import TemplateService
-from Ansjer.config import SERVER_TYPE
+from Ansjer.config import SERVER_TYPE, OAUTH_ACCESS_TOKEN_SECRET
 from Model.models import CloudLogModel
 from Model.models import CloudLogModel
 from Object.UidTokenObject import UidTokenObject
 from Object.UidTokenObject import UidTokenObject
 
 
@@ -34,6 +35,8 @@ def batch_add_log_ctr(request, status_code):
         uid = utko.UID
         uid = utko.UID
         if not uid:
         if not uid:
             uid = request_dict.get('uid', None)
             uid = request_dict.get('uid', None)
+            if len(uid) > 50:
+                uid = jwt.decode(uid, OAUTH_ACCESS_TOKEN_SECRET, algorithms='HS256').get('uid', '')
         clientIP = CommonService.get_ip_address(request)
         clientIP = CommonService.get_ip_address(request)
         # now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
         # now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
         # beijing = datetime.timezone(datetime.timedelta(hours=8))
         # beijing = datetime.timezone(datetime.timedelta(hours=8))