Сценарий: Я развернул приложение Jaggery в WSO2 AS 5.2.1, и у меня есть WSO2 IS 5.0.0 (активирован пакет обновления), на котором работают два поставщика услуг с SSO-конфигурацией, один указывает на AS и другой для моего приложения Jaggery.Почему WSO2 IS SAML2SSOAuthenticationService возвращает false? (SAML2 SSO)
Мой acs.jag копия о приложении Dashboard работает на IS и конфигурация аналогична тоже:
"saml_config" : {
"SAML.IdPUrl" : "samlsso",
"SAML.IssuerID" : "my.jag.app",
"SAML.LogoutUrl" : "logout",
"SAML.EnableResponseSigning" : "true",
"SAML.EnableAssertionSigning" : "true",
"SAML.EnableRequestSigning" : "true",
"SAML.SSOAgentCredentialImplClass" : "org.wso2.carbon.identity.sso.agent.saml.SSOAgentKeyStoreCredential",
"SAML.KeyStorePassword" : "wso2carbon",
"SAML.IdPCertAlias" : "wso2carbon",
"SAML.PrivateKeyAlias": "wso2carbon",
"SAML.PrivateKeyPassword" : "wso2carbon",
"SAML.KeyStore" : "{carbon.home}/repository/resources/security/wso2carbon.jks"
}
Проблема: После того, как IDP ответ, полезная нагрузка занесена в SAML2SSOAuthenticationService и всегда возвращает ложь.
<ns:loginResponse xmlns:ns="http://sso.saml2.authenticator.identity.carbon.wso2.org">
<ns:return>false</ns:return>
</ns:loginResponse>
Я делаю что-то неправильно?
[EDIT] Благодаря @Asela я заметил это в лог-: Проблема:
ERROR {org.wso2.carbon.identity.authenticator.saml2.sso.SAML2SSOAuthenticator}
Authentication Request is rejected. SAMLResponse AudienceRestriction validation failed.
В классе SAML2SSOAuthenticator, ошибка устанавливается объект Assertion равен нулю, но объект Assertion не имеет значения null до того, как jaggery вызовет SAML2SSOAuthenticationService.
Если WSO2IS правильно возвращает ответ SAML2, это проблема с проверкой в WSO2AS, лучше, если вы можете отследить ответ SAML и увидеть ... http://xacmlinfo.org/2014/09/ 17/troubleshooting-saml2-web-sso-scenarios/ – Asela
@Asela благодарит за быстрый ответ. Я отредактировал вопрос, видите ли вы его? –