Я пытаюсь реализовать службы SOAP с поддержкой SAML, и у меня есть несколько концептуальных вопросов, касающихся роли службы Secure Token (STS) в реализации SAML.
Пользователь ---> Веб-приложение --- SOAP / SAML -> Приложение обмена сообщениями
В основном сценарий состоит в том, что пользователь входит в веб-приложение, используя свое имя пользователя и пароль, веб-приложение, в свою очередь, проверяет подлинность и авторизует пользователя с помощью внешней службы, при успешной аутентификации / авторизации веб-приложение создает утверждение SAML отправителя Vouches с пользователем в качестве субъекта, подписывает утверждение своим закрытым ключом, упаковывает утверждение в мыльный конверт с использованием WS-S и выполняет SOAP-вызов для приложения обмена сообщениями. Как только приложение обмена сообщениями получает запрос, оно проверяет подпись с помощью открытого ключа веб-приложения, извлекает операторы аутентификации и атрибутов из утверждения SAML и на их основе применяет политику аутентификации в конечной точке.
Как вы можете видеть в приведенном выше сценарии, внешние STS не использовались, однако большая часть литературы, которую я читал по SAML, предполагает, что STS абсолютно необходима. Вопрос, который у меня возникает, заключается в том, что я делаю что-то не так с вышеописанным сценарием, так как не вижу причин, по которым мне абсолютно необходима STS. Конечно, было бы неплохо иметь STS, но, по крайней мере, на мой взгляд, его отсутствие не мешает мне реализовать SAML для моего варианта использования.