У меня есть финансовое приложение, которое использует шлюз API для аутентификации пользователей в сети. Этот шлюз поддерживает сеанс безопасности для пользователя и передает вызовы SOAP в ящик WebSphere. Он добавляет подписанное утверждение SAML к этим вызовам SOAP.
Ряд служб JAX-WS развернут в WebSphere, и они защищены политиками WebSphere для использования утверждений SAML. Идентификационные данные и членство в группах, указанные в утверждениях SAML, затем передаются в контекст безопасности WebSphere для вызова службы. Все работает очень хорошо, вся логика безопасности выполняется исключительно с помощью конфигурации.
Новые требования теперь требуют, чтобы мы распространяли sessionId в шлюзе API вплоть до WebSphere и далее. Это по причинам прослеживаемости.
Очевидно, что мы могли бы изменить WSDL для всех сервисов, включив в него некоторые поля метаданных, но это большое изменение и потребовало бы очень обширного тестирования.
Я надеялся, что может быть способ сопоставить некоторые произвольные атрибуты из утверждения SAML (кроме Identity и groupMembership) с контекстом безопасности WebSphere. Или даже для доступа к XML SAML в (аутентифицированной) службе JAX-WS.
Кто-нибудь делал это?