Динамическая интеграция SSO в Django с использованием протокола SAML

Моя компания хочет, чтобы я создал движок, который будет хранить данные SSO IDP, такие как логин, ключ клиента, секрет клиента и любые другие поля, необходимые для SSO входа. Все детали должны храниться в базе данных, а информация должна собираться с клиента с помощью панели управления. Я не могу настроить детали в файле settings.py.

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

Также я не могу настроить детали SSO в файле settings.py, поскольку учетные данные будут добавлены клиентом. Так что это должно быть вне области действия файла settings.py.

Урл входа SSO, переданный клиентом, будет использоваться для перенаправления SSO, и пользователь должен быть аутентифицирован оттуда.

Моя проблема заключается в том, что моя компания не хочет настраивать SSO для каждого отдельного клиента в зависимости от его потребностей, а скорее использовать движок, чтобы компания-клиент могла самостоятельно настроить SSO без нашего вмешательства. Я обсудил потенциальные угрозы кибербезопасности и ограничения, но мне все еще нужно мнение или предложение, возможно ли это сделать, и если да, то любое решение о том, как подойти к проблеме, было бы полезным.

Я попытался создать модель, которая будет хранить данные от клиента, и построил промежуточное ПО для перенаправления на страницу входа SSO, если пользователь выбирает вход SSO. Но мне кажется, что хранить в БД такую конфиденциальную информацию, как ключ клиента и секретный ключ, - плохая идея. Я хотел бы узнать, есть ли другие способы сделать это, и я также хотел бы знать, возможно ли это вообще. Заранее спасибо.

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