Насколько я понимаю протокол SAML (v2), поставщики услуг должны напрямую взаимодействовать с поставщиками удостоверений для обмена запросами на авторизацию и сообщениями подтверждения.
Я могу придумать ряд причин, по которым это было бы плохой идеей (подрывает подписание сообщений, дает промежуточному поставщику удостоверений доступ к информации от другого поставщика удостоверений), но существуют ли какие-либо сценарии, поддерживаемые SAML, которые допускают следующую схему?
SP ‹------> MainIdP ‹------> ThirdPartyIdP
Итак (гипотетически), если предположить, что у MainIdP есть какой-то хитрый способ определить, что пользователю SP необходимо аутентифицироваться с помощью ThirdPartyIdP, он делегирует полномочия ThirdPartyIdP, а затем получает ответ, обрабатывает его и отправляет ответ SP. Разрешает ли это SAML? (Я спрашиваю, потому что поставщик программного обеспечения предложил этот подход, и я считаю, что он не поддерживается, а также принципиально небезопасен.)
«Правильный» подход, как я понимаю, заключается в том, чтобы SP был настроен так, чтобы знать об обоих IdP независимо, и либо предоставлять пользователю список на выбор, либо делегировать его службе обнаружения, которая может запрашивать пользователя или делать выводы какие-то другие средства, какой IdP использовать. Это правильно?
Спасибо.