Как реализовать SSO на нескольких сайтах

У нас есть несколько веб-сайтов, для которых мы хотим внедрить систему единого входа. Это оба сайта на Django / Wagtail. В настоящее время они оба используют стандартный логин Django для аутентификации. Мы хотим сделать так, чтобы если пользователь входит на один из сайтов, он автоматически входил на другой, и то же самое для выхода из системы.

Я сделал поиск в Google, и OpenID Connect, кажется, всплывает много раз, но кажется, что у него довольно крутая кривая обучения, и я подозреваю, что многое из этого не относится к моей конкретной ситуации, а я не хочу заблудиться в длинном лабиринте технических деталей.

Похоже, мне нужно запустить свой собственный сервер OpenID Connect, чего я раньше не делал. Я даже пробовал искать на Docker Hub докеризованные решения, но не нашел ни одного из них с адекватной документацией.

В идеале я хотел бы получить решение, в котором я мог бы просто добавить новый бэкенд аутентификации Django и, возможно, просто настроить хост и порт сервера идентификации в каком-нибудь файле настроек. Кроме того, мне нужно каким-то образом перенести базу данных пользователей на сервер идентификации, стараясь при этом сохранить алгоритм хэширования паролей прежним, чтобы всем не пришлось сбрасывать свои пароли, так что если кто-нибудь делал это.

Может ли кто-нибудь указать мне на минимальный пример того, как настроить это как решение на python для настройки клиента OpenID Connect только для вышеупомянутого сценария и как настроить OpenID Server?

Вернуться на верх