mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-05 09:21:02 +00:00
feat: 支持自定义短信认证(文件) (#11784)
* feat: 支持自定义短信认证(文件) * perf: 翻译 * perf: 还原注释
This commit is contained in:
@@ -2,6 +2,7 @@ import importlib
|
||||
from collections import OrderedDict
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.conf import settings
|
||||
from rest_framework import status
|
||||
from rest_framework.exceptions import APIException
|
||||
from rest_framework.generics import ListAPIView, GenericAPIView
|
||||
@@ -28,7 +29,6 @@ class SMSBackendAPI(ListAPIView):
|
||||
}
|
||||
for b in BACKENDS.choices
|
||||
]
|
||||
|
||||
return Response(data)
|
||||
|
||||
|
||||
@@ -39,11 +39,16 @@ class SMSTestingAPI(GenericAPIView):
|
||||
'huawei': serializers.HuaweiSMSSettingSerializer,
|
||||
'cmpp2': serializers.CMPP2SMSSettingSerializer,
|
||||
'custom': serializers.CustomSMSSettingSerializer,
|
||||
'custom_file': serializers.BaseSMSSettingSerializer,
|
||||
}
|
||||
rbac_perms = {
|
||||
'POST': 'settings.change_sms'
|
||||
}
|
||||
|
||||
@property
|
||||
def test_code(self):
|
||||
return '6' * settings.SMS_CODE_LENGTH
|
||||
|
||||
@staticmethod
|
||||
def get_or_from_setting(key, value=''):
|
||||
if not value:
|
||||
@@ -63,7 +68,7 @@ class SMSTestingAPI(GenericAPIView):
|
||||
send_sms_params = {
|
||||
'sign_name': data['ALIBABA_VERIFY_SIGN_NAME'],
|
||||
'template_code': data['ALIBABA_VERIFY_TEMPLATE_CODE'],
|
||||
'template_param': {'code': '666666'}
|
||||
'template_param': {'code': self.test_code}
|
||||
}
|
||||
return init_params, send_sms_params
|
||||
|
||||
@@ -78,7 +83,7 @@ class SMSTestingAPI(GenericAPIView):
|
||||
send_sms_params = {
|
||||
'sign_name': data['TENCENT_VERIFY_SIGN_NAME'],
|
||||
'template_code': data['TENCENT_VERIFY_TEMPLATE_CODE'],
|
||||
'template_param': OrderedDict(code='666666')
|
||||
'template_param': OrderedDict(code=self.test_code)
|
||||
}
|
||||
return init_params, send_sms_params
|
||||
|
||||
@@ -94,7 +99,7 @@ class SMSTestingAPI(GenericAPIView):
|
||||
send_sms_params = {
|
||||
'sign_name': data['HUAWEI_VERIFY_SIGN_NAME'],
|
||||
'template_code': data['HUAWEI_VERIFY_TEMPLATE_CODE'],
|
||||
'template_param': OrderedDict(code='666666')
|
||||
'template_param': OrderedDict(code=self.test_code)
|
||||
}
|
||||
return init_params, send_sms_params
|
||||
|
||||
@@ -110,16 +115,18 @@ class SMSTestingAPI(GenericAPIView):
|
||||
send_sms_params = {
|
||||
'sign_name': data['CMPP2_VERIFY_SIGN_NAME'],
|
||||
'template_code': data['CMPP2_VERIFY_TEMPLATE_CODE'],
|
||||
'template_param': OrderedDict(code='666666')
|
||||
'template_param': OrderedDict(code=self.test_code)
|
||||
}
|
||||
return init_params, send_sms_params
|
||||
|
||||
@staticmethod
|
||||
def get_custom_params(data):
|
||||
def get_custom_params(self, data):
|
||||
init_params = {}
|
||||
send_sms_params = {'template_param': OrderedDict(code='666666')}
|
||||
send_sms_params = {'template_param': OrderedDict(code=self.test_code)}
|
||||
return init_params, send_sms_params
|
||||
|
||||
def get_custom_file_params(self, data):
|
||||
return self.get_custom_params(data)
|
||||
|
||||
def get_params_by_backend(self, backend, data):
|
||||
"""
|
||||
返回两部分参数
|
||||
|
Reference in New Issue
Block a user