diff --git a/apps/authentication/api/login_confirm.py b/apps/authentication/api/login_confirm.py index d2e5eb14e..7802b5b34 100644 --- a/apps/authentication/api/login_confirm.py +++ b/apps/authentication/api/login_confirm.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- # +from django.contrib.auth import logout as auth_logout +from rest_framework.permissions import AllowAny from rest_framework.response import Response from rest_framework.views import APIView -from rest_framework.permissions import AllowAny from common.utils import get_logger from .. import errors, mixins -from django.contrib.auth import logout as auth_logout - __all__ = ['TicketStatusApi'] logger = get_logger(__name__) @@ -26,8 +25,10 @@ class TicketStatusApi(mixins.AuthMixin, APIView): reason = e.msg username = e.username self.send_auth_signal(success=False, username=username, reason=reason) + auth_ticket_id = request.session.pop('auth_ticket_id', '') # 若为三方登录,此时应退出登录 auth_logout(request) + request.session['auth_ticket_id'] = auth_ticket_id return Response(e.as_data(), status=200) except errors.NeedMoreInfoError as e: return Response(e.as_data(), status=200)