|
@@ -200,37 +200,43 @@ class oa2TokenView(TemplateView):
|
|
def validate(self, request_dict):
|
|
def validate(self, request_dict):
|
|
# 增加对code和client_id的校验代码,返回access_token和refresh_token
|
|
# 增加对code和client_id的校验代码,返回access_token和refresh_token
|
|
code = request_dict.get("code", None)
|
|
code = request_dict.get("code", None)
|
|
|
|
+ grant_type = request_dict.get("grant_type", None) # refresh_token, authorization_code
|
|
client_id = request_dict.get("client_id", None)
|
|
client_id = request_dict.get("client_id", None)
|
|
refresh_token = request_dict.get("refresh_token", None)
|
|
refresh_token = request_dict.get("refresh_token", None)
|
|
|
|
|
|
logger = logging.getLogger('django')
|
|
logger = logging.getLogger('django')
|
|
logger.info('请求获取令牌接口参数:{}'.format(request_dict))
|
|
logger.info('请求获取令牌接口参数:{}'.format(request_dict))
|
|
|
|
|
|
- user_qs = UserModel.objects.filter(code=code)
|
|
|
|
- if not user_qs.exists():
|
|
|
|
- user_qs = UserModel.objects.filter(refresh_token=refresh_token)
|
|
|
|
- if user_qs.exists():
|
|
|
|
- access_token = CommonService.encrypt_data(randomlength=32)
|
|
|
|
- refresh_token = CommonService.encrypt_data(randomlength=32)
|
|
|
|
-
|
|
|
|
- is_update = user_qs.update(access_token=access_token, refresh_token=refresh_token)
|
|
|
|
- if is_update:
|
|
|
|
- res_json = {
|
|
|
|
- "access_token": access_token,
|
|
|
|
- "token_type": "bearer",
|
|
|
|
- "expires_in": 3600,
|
|
|
|
- "refresh_token": refresh_token,
|
|
|
|
- }
|
|
|
|
- logger.info('请求获取令牌接口响应:{}'.format(res_json))
|
|
|
|
- return JsonResponse(res_json)
|
|
|
|
- else:
|
|
|
|
- logger.info({'msg': 'error'})
|
|
|
|
- return JsonResponse({'msg': 'error'})
|
|
|
|
|
|
+ # 根据用户授权码获取令牌
|
|
|
|
+ if grant_type == 'authorization_code':
|
|
|
|
+ user_qs = UserModel.objects.filter(user_authorization_code=code)
|
|
else:
|
|
else:
|
|
|
|
+ user_qs = UserModel.objects.filter(code=code)
|
|
|
|
+ if not user_qs.exists():
|
|
|
|
+ user_qs = UserModel.objects.filter(refresh_token=refresh_token)
|
|
|
|
+
|
|
|
|
+ if not user_qs.exists():
|
|
res_json = {'msg': 'code not exists'}
|
|
res_json = {'msg': 'code not exists'}
|
|
logger.info('请求获取令牌接口响应:{}'.format(res_json))
|
|
logger.info('请求获取令牌接口响应:{}'.format(res_json))
|
|
return JsonResponse(res_json)
|
|
return JsonResponse(res_json)
|
|
|
|
|
|
|
|
+ access_token = CommonService.encrypt_data(randomlength=32)
|
|
|
|
+ refresh_token = CommonService.encrypt_data(randomlength=32)
|
|
|
|
+
|
|
|
|
+ is_update = user_qs.update(access_token=access_token, refresh_token=refresh_token)
|
|
|
|
+ if is_update:
|
|
|
|
+ res_json = {
|
|
|
|
+ "access_token": access_token,
|
|
|
|
+ "token_type": "bearer",
|
|
|
|
+ "expires_in": 3600,
|
|
|
|
+ "refresh_token": refresh_token,
|
|
|
|
+ }
|
|
|
|
+ logger.info('请求获取令牌接口响应:{}'.format(res_json))
|
|
|
|
+ return JsonResponse(res_json)
|
|
|
|
+ else:
|
|
|
|
+ logger.info({'msg': 'error'})
|
|
|
|
+ return JsonResponse({'msg': 'error'})
|
|
|
|
+
|
|
|
|
|
|
def runSendRtspMsg_thread(UID, PWD, MSG):
|
|
def runSendRtspMsg_thread(UID, PWD, MSG):
|
|
command = "./pushtool {UID} {PWD} {MSG} 1".format(UID=UID, PWD=PWD, MSG=MSG)
|
|
command = "./pushtool {UID} {PWD} {MSG} 1".format(UID=UID, PWD=PWD, MSG=MSG)
|