WSO2 身份服务器 - SAML2 响应发布者验证失败
WSO2 identity server - SAML2 Response Issuer verification failed
我正在使用 wso2 示例应用程序(saml2-web-app-pickup-dispatch 和 saml2-web-app-pickup-manager)通过 WSO2 身份服务器版本 5.10.0 测试单点登录
部署正常,点击应用程序登录后,成功重定向到 WSO2 登录页面。
用户登录成功但收到以下错误。
HTTP Status 500 – Internal Server Error
Type Exception Report
Message SAML2 Response Issuer verification failed
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.wso2.carbon.identity.sso.agent.exception.SSOAgentException: SAML2 Response Issuer verification failed
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:569)
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:525)
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processResponse(SAML2SSOManager.java:358)
org.wso2.carbon.identity.sso.agent.SAML2SSOAgentFilter.doFilter(SAML2SSOAgentFilter.java:98)
Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.53
来自服务器的日志
TID: [-1234] [2020-04-25 19:16:55,881] [7e977cfd-8304-44ba-ab4f-4644baff988e] INFO {AUDIT_LOG} -
Initiator : wickrema | Action : Login | Target : ApplicationAuthenticationFramework |
Data : {
"ContextIdentifier" : "51f93b05-68cf-4bf4-b62b-51e3e2502889",
"AuthenticatedUser" : "wickrema",
"AuthenticatedUserTenantDomain" : "carbon.super",
"ServiceProviderName" : "saml2-web-app-pickup-dispatch",
"RequestType" : "samlsso",
"RelyingParty" : "saml2-web-app-pickup-dispatch.com",
"AuthenticatedIdPs" : "eyJ0eXAiOiJKV1QiLCAiYWxnIjoibm9uZSJ9.eyJpc3MiOiJ3c28yIiwiZXhwIjoxNTg3ODMxNDE1ODA0MzAwMCwiaWF0IjoxNTg3ODMxNDE1ODA0LCJpZHBzIjpbeyJpZHAiOiJMT0NBTCIsImF1dGhlbnRpY2F0b3IiOiJCYXNpY0F1dGhlbnRpY2F0b3IifV19."
} | Result : Success
您的服务提供商应用程序 (Pickup-Dispatch) 正在尝试验证收到的 SAML 响应是否由预期的 SAML 身份提供商发出。 WSO2 在 SAML 响应的 <saml:Issuer>
标签中包含其 ID。
您的应用程序在 saml2-web-app-pickup-dispatch.com/WEB-INF/classes/sso.properties
文件中为 WSO2 预配置了实体 ID,如下所示。
SAML2.IdPEntityId=localhost
同样,WSO2 IS 使用您在居民身份提供者的家庭领域标识符 中配置的值填充其 SAML 响应的颁发者。
但是您可以使用服务提供商 SAML 配置的 IdP 实体 ID 别名 覆盖家庭领域标识符,如下所示。
最重要的是,SAML 响应的颁发者 ID 应与您在应用程序中配置为 IdP 实体 ID 的相同。
更改任一值使它们相同。
我正在使用 wso2 示例应用程序(saml2-web-app-pickup-dispatch 和 saml2-web-app-pickup-manager)通过 WSO2 身份服务器版本 5.10.0 测试单点登录
部署正常,点击应用程序登录后,成功重定向到 WSO2 登录页面。
用户登录成功但收到以下错误。
HTTP Status 500 – Internal Server Error
Type Exception Report
Message SAML2 Response Issuer verification failed
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.wso2.carbon.identity.sso.agent.exception.SSOAgentException: SAML2 Response Issuer verification failed
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:569)
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:525)
org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processResponse(SAML2SSOManager.java:358)
org.wso2.carbon.identity.sso.agent.SAML2SSOAgentFilter.doFilter(SAML2SSOAgentFilter.java:98)
Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.53
来自服务器的日志
TID: [-1234] [2020-04-25 19:16:55,881] [7e977cfd-8304-44ba-ab4f-4644baff988e] INFO {AUDIT_LOG} -
Initiator : wickrema | Action : Login | Target : ApplicationAuthenticationFramework |
Data : {
"ContextIdentifier" : "51f93b05-68cf-4bf4-b62b-51e3e2502889",
"AuthenticatedUser" : "wickrema",
"AuthenticatedUserTenantDomain" : "carbon.super",
"ServiceProviderName" : "saml2-web-app-pickup-dispatch",
"RequestType" : "samlsso",
"RelyingParty" : "saml2-web-app-pickup-dispatch.com",
"AuthenticatedIdPs" : "eyJ0eXAiOiJKV1QiLCAiYWxnIjoibm9uZSJ9.eyJpc3MiOiJ3c28yIiwiZXhwIjoxNTg3ODMxNDE1ODA0MzAwMCwiaWF0IjoxNTg3ODMxNDE1ODA0LCJpZHBzIjpbeyJpZHAiOiJMT0NBTCIsImF1dGhlbnRpY2F0b3IiOiJCYXNpY0F1dGhlbnRpY2F0b3IifV19."
} | Result : Success
您的服务提供商应用程序 (Pickup-Dispatch) 正在尝试验证收到的 SAML 响应是否由预期的 SAML 身份提供商发出。 WSO2 在 SAML 响应的 <saml:Issuer>
标签中包含其 ID。
您的应用程序在 saml2-web-app-pickup-dispatch.com/WEB-INF/classes/sso.properties
文件中为 WSO2 预配置了实体 ID,如下所示。
SAML2.IdPEntityId=localhost
同样,WSO2 IS 使用您在居民身份提供者的家庭领域标识符 中配置的值填充其 SAML 响应的颁发者。
最重要的是,SAML 响应的颁发者 ID 应与您在应用程序中配置为 IdP 实体 ID 的相同。
更改任一值使它们相同。