mirror of https://github.com/jumpserver/jumpserver
perf: remove client redirect api
parent
75575af56f
commit
c4a348aac6
|
@ -1,7 +1,6 @@
|
||||||
# ~*~ coding: utf-8 ~*~
|
# ~*~ coding: utf-8 ~*~
|
||||||
#
|
#
|
||||||
import base64
|
import base64
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
@ -12,10 +11,9 @@ import pyotp
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from django.utils.translation import gettext as _
|
|
||||||
|
|
||||||
from common.tasks import send_mail_async
|
from common.tasks import send_mail_async
|
||||||
from common.utils import reverse, get_object_or_none, ip, safe_next_url, FlashMessageUtil
|
from common.utils import reverse, get_object_or_none, ip, safe_next_url
|
||||||
from .models import User
|
from .models import User
|
||||||
|
|
||||||
logger = logging.getLogger('jumpserver.users')
|
logger = logging.getLogger('jumpserver.users')
|
||||||
|
@ -49,29 +47,6 @@ def get_user_or_pre_auth_user(request):
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
||||||
def get_redirect_client_url(request):
|
|
||||||
session_key = settings.SESSION_COOKIE_NAME
|
|
||||||
csrf_key = settings.CSRF_COOKIE_NAME
|
|
||||||
data = {
|
|
||||||
'type': 'cookie',
|
|
||||||
'cookie': {
|
|
||||||
session_key: request.session.session_key,
|
|
||||||
csrf_key: request.COOKIES.get(csrf_key),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
buf = base64.b64encode(json.dumps(data).encode()).decode()
|
|
||||||
redirect_url = 'jms://{}'.format(buf)
|
|
||||||
message_data = {
|
|
||||||
'title': _('Auth success'),
|
|
||||||
'message': _("Redirecting to JumpServer Client"),
|
|
||||||
'redirect_url': redirect_url,
|
|
||||||
'interval': 1,
|
|
||||||
'has_cancel': False,
|
|
||||||
}
|
|
||||||
url = FlashMessageUtil.gen_message_url(message_data)
|
|
||||||
return url
|
|
||||||
|
|
||||||
|
|
||||||
def redirect_user_first_login_or_index(request, redirect_field_name):
|
def redirect_user_first_login_or_index(request, redirect_field_name):
|
||||||
sources = [request.session, request.POST, request.GET]
|
sources = [request.session, request.POST, request.GET]
|
||||||
|
|
||||||
|
@ -81,9 +56,6 @@ def redirect_user_first_login_or_index(request, redirect_field_name):
|
||||||
if url:
|
if url:
|
||||||
break
|
break
|
||||||
|
|
||||||
if url == 'client':
|
|
||||||
url = get_redirect_client_url(request)
|
|
||||||
|
|
||||||
url = safe_next_url(url, request=request)
|
url = safe_next_url(url, request=request)
|
||||||
# 防止 next 地址为 None
|
# 防止 next 地址为 None
|
||||||
if not url or url.lower() in ['none']:
|
if not url or url.lower() in ['none']:
|
||||||
|
|
Loading…
Reference in New Issue