У меня есть модуль Django, который вызывается из службы единого входа.Служба имеет единую функцию выхода из системы, которая делает один GET
запрос на URL-адрес, данный ему во время входа в систему.
Я пытаюсь настроить APIView
в Django для обработки этого выхода.Служба происхождения никогда не проверяет ответ;он только один раз вызывает GET
URL.
Я пытаюсь что-то подобное для APIView
, но продолжаю получать session.DoesNotExist
исключения:
class LogoutApi(APIView):
def get(self, request, *args, **kwargs):
s = Session.objects.get(session_key=kwargs.get('sk', ''))
s.delete()
return Response({'result': True})
Я знаю, что у меня естьдопустимый сеанс, но даже когда я пытаюсь выполнить итерацию по Session.objects
, я не могу его найти.
Я также пытался извлечь ключ из SessionStore
:
class LogoutApi(APIView):
def get(self, request, *args, **kwargs):
sk = request.GET.get('sk', '')
try:
s = SessionStore(sk)
del s[sk]
return Response({'result': True})
except:
self.logger.error(sys.exc_info()[0])
return Response({'result': False})
Это все еще не былоне успешноЕсть ли способ настроить вызов API GET
для завершения определенного сеанса?