wso2:无法通过租户管理员登录API发布者和商店

时间:2016-06-14 16:03:27

标签: wso2 wso2is wso2-am

环境:wso2 API-M + wso2身份服务器(密钥管理器),他们共享同一个用户存储。

1.我使用发布商和商店设置SSO。 (完成)

2.我将社交帐户整合到环境中。 (完成)

3.我创建了两个名为TA,TB的租户。 (完成)

4.TA管理员尝试登录发布商和商店。 (失败)

错误日志:

TID: [-1234] [] [2016-06-14 15:08:24,615] ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} - Service Provider tenant domain must be equal to user tenant domain for non-SaaS applications 
org.wso2.carbon.identity.application.authentication.framework.exception.AuthenticationFailedException: Service Provider tenant domain must be equal to user tenant domain for non-SaaS applications 
        at org.wso2.carbon.identity.application.authentication.framework.AbstractApplicationAuthenticator.process(AbstractApplicationAuthenticator.java:73) 
        at org.wso2.carbon.identity.application.authenticator.basicauth.BasicAuthenticator.process(BasicAuthenticator.java:78) 
        at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.doAuthentication(DefaultStepHandler.java:432) 
        at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handleResponse(DefaultStepHandler.java:406) 
        at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handle(DefaultStepHandler.java:117)
 at org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler.handle(DefaultStepBasedSequenceHandler.java:171) 
        at org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultAuthenticationRequestHandler.handle(DefaultAuthenticationRequestHandler.java:115) 
        at org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator.handle(DefaultRequestCoordinator.java:135) 
        at org.wso2.carbon.identity.application.authentication.framework.CommonAuthenticationHandler.doPost(CommonAuthenticationHandler.java:46) 
        at org.wso2.carbon.identity.application.authentication.framework.CommonAuthenticationHandler.doGet(CommonAuthenticationHandler.java:37) 
        at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.sendRequestToFramework(SAMLSSOProviderServlet.java:974) 
        at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleRequest(SAMLSSOProviderServlet.java:159) 
        at
org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.doPost(SAMLSSOProviderServlet.java:107) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
        at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37) 
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) 
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) 
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
        at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
        at.....

org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) 
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) 
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) 
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) 
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
        at java.lang.Thread.run(Thread.java:745)

问题:

1.关于:服务提供商租户域必须等于非SaaS应用程序的用户租户域

如何在服务提供商中更改服务提供商租户域?

由于

汤姆

1 个答案:

答案 0 :(得分:1)

实际上,您无法更改服务提供商的租户域。它将与创建它的用户的租户域相同。

因此,假设您在租户TA中创建了一个服务提供商,并希望允许来自TB的租户管理员(或任何其他用户)使用服务提供商进行SSO,那么您应该在服务提供商中启用SaaS应用程序选项。这允许服务提供商由不是与服务提供商相同的租户域的用户使用。

enter image description here

如上所示,只需在服务提供商配置中勾选SaaS应用程序。然后来自TB的用户也可以使用TA中的服务提供商进行SSO