mirror of https://github.com/jumpserver/jumpserver
parent
9a4b32cb3c
commit
5559f112db
|
@ -22,7 +22,10 @@ class TicketStatusApi(mixins.AuthMixin, APIView):
|
||||||
self.request.session['auth_third_party_done'] = 1
|
self.request.session['auth_third_party_done'] = 1
|
||||||
return Response({"msg": "ok"})
|
return Response({"msg": "ok"})
|
||||||
except errors.LoginConfirmOtherError as e:
|
except errors.LoginConfirmOtherError as e:
|
||||||
self.send_auth_signal(success=False, user=request.user, username=request.user.name, reason=e.as_data().get('msg'))
|
reason = e.msg
|
||||||
|
username = e.username
|
||||||
|
self.send_auth_signal(success=False, username=username, reason=reason)
|
||||||
|
# 若为三方登录,此时应退出登录
|
||||||
auth_logout(request)
|
auth_logout(request)
|
||||||
return Response(e.as_data(), status=200)
|
return Response(e.as_data(), status=200)
|
||||||
except errors.NeedMoreInfoError as e:
|
except errors.NeedMoreInfoError as e:
|
||||||
|
|
|
@ -69,10 +69,16 @@ class LoginConfirmWaitError(LoginConfirmBaseError):
|
||||||
class LoginConfirmOtherError(LoginConfirmBaseError):
|
class LoginConfirmOtherError(LoginConfirmBaseError):
|
||||||
error = 'login_confirm_error'
|
error = 'login_confirm_error'
|
||||||
|
|
||||||
def __init__(self, ticket_id, status):
|
def __init__(self, ticket_id, status, username):
|
||||||
|
self.username = username
|
||||||
msg = const.login_confirm_error_msg.format(status)
|
msg = const.login_confirm_error_msg.format(status)
|
||||||
super().__init__(ticket_id=ticket_id, msg=msg)
|
super().__init__(ticket_id=ticket_id, msg=msg)
|
||||||
|
|
||||||
|
def as_data(self):
|
||||||
|
ret = super().as_data()
|
||||||
|
ret['data']['username'] = self.username
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class PasswordTooSimple(NeedRedirectError):
|
class PasswordTooSimple(NeedRedirectError):
|
||||||
default_code = 'passwd_too_simple'
|
default_code = 'passwd_too_simple'
|
||||||
|
|
|
@ -377,7 +377,10 @@ class AuthACLMixin:
|
||||||
raise errors.LoginConfirmWaitError(ticket.id)
|
raise errors.LoginConfirmWaitError(ticket.id)
|
||||||
else:
|
else:
|
||||||
# rejected, closed
|
# rejected, closed
|
||||||
raise errors.LoginConfirmOtherError(ticket.id, ticket.get_state_display())
|
ticket_id = ticket.id
|
||||||
|
status = ticket.get_state_display()
|
||||||
|
username = ticket.applicant.username
|
||||||
|
raise errors.LoginConfirmOtherError(ticket_id, status, username)
|
||||||
|
|
||||||
def get_ticket(self):
|
def get_ticket(self):
|
||||||
from tickets.models import ApplyLoginTicket
|
from tickets.models import ApplyLoginTicket
|
||||||
|
|
Loading…
Reference in New Issue