소스 검색

回放列表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 boto3.session import Session
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
 from django.views.generic.base import View
 from django.views.generic.base import View
+from jwt import jwt
 from pyfcm import FCMNotification
 from pyfcm import FCMNotification
 
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
 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, \
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel
 from Object.AliPayObject import AliPayObject
 from Object.AliPayObject import AliPayObject
@@ -253,7 +255,7 @@ class CloudStorageView(View):
 
 
     def do_sign_play_m3u8(self, request_dict, response):
     def do_sign_play_m3u8(self, request_dict, response):
         uid = request_dict.get('uid', None)
         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)
         channel = request_dict.get('channel', None)
         storeTime = request_dict.get('time', None)
         storeTime = request_dict.get('time', None)
         now_time = int(time.time())
         now_time = int(time.time())
@@ -467,7 +469,7 @@ class CloudStorageView(View):
             )
             )
             vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
             vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
                       'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
                       '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
             ts_num = int(vod['fg']) & 0xf
             vod_play_list.append({
             vod_play_list.append({
                 'name': vod['time'],
                 'name': vod['time'],