Я работаю над проектом с аутентификацией SAML, реализованной с использованием python-social-auth . Я пытаюсь реализовать представление, которое инициирует единый выход из системы (то есть выход из системы всех поставщиков услуг и поставщика удостоверений) на стороне поставщика услуг.
В настоящее время, войдя в систему через SAML, я могу получить доступ к определенной странице поставщика удостоверений (ADFS, если это имеет значение) и инициировать единый выход из нее.
Таким образом, в конце должно быть два варианта выхода из системы - обычный выход из Django и представление, которое инициирует однократный выход из системы.
Я смог извлечь name_id
и session_index
и поместить его в request.session
, потому что, если я правильно понимаю, они необходимы для Single Logout.
Кроме того, код из https://github.com/python-social-auth/social-core/issues/199 выглядит очень похоже на то, что мне нужно, но мне не удалось найти решение с ним. В частности, я не знаю, где и как я должен использовать process_logout()
.
Что такое правильный подход к этой проблеме? Код по ссылке выше связан с моей проблемой. И если да, стоит ли добавить еще код, чтобы он работал?