mirror of https://github.com/jumpserver/jumpserver
fix: 修复企业微信、钉钉、飞书登录跳转问题
parent
07779c5a7a
commit
0fc5a33983
|
@ -205,12 +205,13 @@ class DingTalkQRLoginView(DingTalkQRMixin, METAMixin, View):
|
|||
permission_classes = (AllowAny,)
|
||||
|
||||
def get(self, request: HttpRequest):
|
||||
redirect_url = request.GET.get('redirect_url')
|
||||
redirect_url = request.GET.get('redirect_url') or reverse('index')
|
||||
next_url = self.get_next_url_from_meta() or reverse('index')
|
||||
|
||||
redirect_uri = reverse('authentication:dingtalk-qr-login-callback', external=True)
|
||||
redirect_uri += '?' + urlencode({
|
||||
'redirect_url': redirect_url,
|
||||
'next': self.get_next_url_from_meta()
|
||||
'next': next_url,
|
||||
})
|
||||
|
||||
url = self.get_qr_url(redirect_uri)
|
||||
|
|
|
@ -170,10 +170,11 @@ class FeiShuQRLoginView(FeiShuQRMixin, View):
|
|||
permission_classes = (AllowAny,)
|
||||
|
||||
def get(self, request: HttpRequest):
|
||||
redirect_url = request.GET.get('redirect_url')
|
||||
|
||||
redirect_url = request.GET.get('redirect_url') or reverse('index')
|
||||
redirect_uri = reverse('authentication:feishu-qr-login-callback', external=True)
|
||||
redirect_uri += '?' + urlencode({'redirect_url': redirect_url})
|
||||
redirect_uri += '?' + urlencode({
|
||||
'redirect_url': redirect_url,
|
||||
})
|
||||
|
||||
url = self.get_qr_url(redirect_uri)
|
||||
return HttpResponseRedirect(url)
|
||||
|
|
|
@ -201,12 +201,12 @@ class WeComQRLoginView(WeComQRMixin, METAMixin, View):
|
|||
permission_classes = (AllowAny,)
|
||||
|
||||
def get(self, request: HttpRequest):
|
||||
redirect_url = request.GET.get('redirect_url')
|
||||
|
||||
redirect_url = request.GET.get('redirect_url') or reverse('index')
|
||||
next_url = self.get_next_url_from_meta() or reverse('index')
|
||||
redirect_uri = reverse('authentication:wecom-qr-login-callback', external=True)
|
||||
redirect_uri += '?' + urlencode({
|
||||
'redirect_url': redirect_url,
|
||||
'next': self.get_next_url_from_meta()
|
||||
'next': next_url,
|
||||
})
|
||||
|
||||
url = self.get_qr_url(redirect_uri)
|
||||
|
|
|
@ -46,11 +46,13 @@ def get_user_or_pre_auth_user(request):
|
|||
|
||||
|
||||
def redirect_user_first_login_or_index(request, redirect_field_name):
|
||||
url_in_post = request.POST.get(redirect_field_name)
|
||||
if url_in_post:
|
||||
return url_in_post
|
||||
url_in_get = request.GET.get(redirect_field_name, reverse('index'))
|
||||
return url_in_get
|
||||
url = request.POST.get(redirect_field_name)
|
||||
if not url:
|
||||
url = request.GET.get(redirect_field_name)
|
||||
# 防止 next 地址为 None
|
||||
if not url or url.lower() in ['none']:
|
||||
url = reverse('index')
|
||||
return url
|
||||
|
||||
|
||||
def generate_otp_uri(username, otp_secret_key=None, issuer="JumpServer"):
|
||||
|
|
Loading…
Reference in New Issue