Я пытаюсь настроить систему единого входа на основе SAML для набора продуктов WSO2 (все они используются последними версиями, доступными на данный момент):
- Сервер идентификации WSO2 4.5.0
- Сервер бизнес-правил WSO2 2.0.0
- WSO2 ESB 4.7.0
- Мониторинг деловой активности WSO2 2.4.0
- Сервер приложений WSO2 5.2.0
SSO отлично работает для BAM и AS, но не работает для других серверов (BRS, ESB). Я получаю исключение на стороне IS, например:
[Fatal Error] :1:1: Content is not allowed in prolog.
[2013-11-01 22:16:26,830] ERROR {org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil} - Error in constructing AuthRequest from the encoded String
org.xml.sax.SAXParseException: Content is not allowed in prolog.
nd Как я понимаю, проблема в следующем: IS, AS и BAM основаны на углероде 4.2.0 - и в результате SSO работает нормально, но последние версии BRS и ESB основаны на более старом углероде (4.1.0 или 4.0.0), и есть совместимость. проблема в кодировании сообщений между разными версиями углерода.
Вопрос - можно ли как-то исправить инструменты, основанные на старой версии углерода, чтобы они работали с последней версией углерода 4.2.0 на основе IS 4.5.0? Или, вообще, как настроить SAML SSO независимо от каждого используемого углеродного (или даже не углеродного) поставщика услуг?