瀏覽代碼

回放列表UID 加密5

chenshibin 4 年之前
父節點
當前提交
fd63b7de6a
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      Controller/CloudStorage.py

+ 5 - 3
Controller/CloudStorage.py

@@ -32,10 +32,12 @@ from aliyunsdksts.request.v20150401 import AssumeRoleRequest
 from boto3.session import Session
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
 from django.views.generic.base import View
+from jwt import jwt
 from pyfcm import FCMNotification
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
-    SERVER_DOMAIN_SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN, APNS_MODE, APNS_CONFIG, BASE_DIR, JPUSH_CONFIG, FCM_CONFIG
+    SERVER_DOMAIN_SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN, APNS_MODE, APNS_CONFIG, BASE_DIR, \
+    JPUSH_CONFIG, FCM_CONFIG, OAUTH_ACCESS_TOKEN_SECRET
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel
 from Object.AliPayObject import AliPayObject
@@ -253,7 +255,7 @@ class CloudStorageView(View):
 
     def do_sign_play_m3u8(self, request_dict, response):
         uid = request_dict.get('uid', None)
-        uid = base64.b64decode(uid).decode("utf-8")
+        uid = jwt.decode(uid, OAUTH_ACCESS_TOKEN_SECRET, algorithms='HS256')
         channel = request_dict.get('channel', None)
         storeTime = request_dict.get('time', None)
         now_time = int(time.time())
@@ -467,7 +469,7 @@ class CloudStorageView(View):
             )
             vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
                       'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
-                format(server_domain=SERVER_DOMAIN, uid=str(base64.b64encode(uid.encode("utf-8"),'utf-8')), channel=channel, time=vod['time'])
+                format(server_domain=SERVER_DOMAIN, uid=TokenObject.generate(uid), channel=channel, time=vod['time'])
             ts_num = int(vod['fg']) & 0xf
             vod_play_list.append({
                 'name': vod['time'],