#wso2is #wso2-am
#wso2-api-manager #wso2-сервер идентификации
Вопрос:
Мы используем WSO2 API Manager 2.6 с включенным SSO. В файле site.json в приложении store jaggery мы настроили следующие параметры:
"ssoConfiguration" : {
"enabled" : "true",
"issuer" : "API_STORE",
"identityProviderURL" : "https://identity.it/samlsso",
"keyStorePassword" : "",
"identityAlias" : "",
"responseSigningEnabled":"true",
"assertionSigningEnabled":"true",
"verifyAssertionValidityPeriod":"true",
"timestampSkewInSeconds":"300",
"audienceRestrictionsEnabled":"true",
"keyStoreName" :"",
"passive" : "true",
...
}
Когда мы перемещаемся по сайту магазина в качестве приглашенного пользователя (без входа в систему), магазин автоматически перенаправляет все запросы на https://identity.it/samlsso (без запроса учетных данных) до перехода на целевую страницу. Как мы можем позволить гостевому пользователю перемещаться по веб-сайту магазина, не перенаправляя все запросы на удостоверение?
В версии 2.1, чтобы получить его, мы настроили для параметра passive значение false, в этой версии он не работает, потому что перенаправляет все запросы на страницу входа.
Ответ №1:
У меня была такая же проблема. После долгих поисков я нашел это утверждение
if ((!session.get("hasTriedSSO") || Boolean(user)) amp;amp; site.ssoConfiguration.enabled == "true" amp;amp; site.ssoConfiguration.passive == "true") {
jagg.includeBlock("sso/filter", {});
}
Я думаю, что это условие неверно. Потому что он должен включать блокировку только тогда, когда site.ssoConfiguration.passive
значение false не равно true.
Он расположен в
repositorydeploymentserverjaggeryappsstoresiteblocksapiapi-infoblock.jag
repositorydeploymentserverjaggeryappsstoresiteblockssitepageslist-apis.jag
Я изменил это site.ssoConfiguration.enabled == "false"
, и у меня это сработало. Но я не уверен, что это лучшее решение.