繁体   English   中英

具有多个租户的WSO2身份服务器并配置应用程序

[英]WSO2 Identity server with multiple tenants and configure the application

我在WSO2身份服务器(5.3)中配置了两个租户。

mydomain.com-->tenant1
mydomain2.com--->tenant22

每个租户中都配置了几个用户。 在Tenant1(my domain.com)中,我已在服务提供商下添加了应用程序。 注意:未选中“ Saas”复选框。

我试图通过clientCredential和password授予类型生成OAuth访问令牌。 我面临以下问题。

  1. 客户凭证授予:

curl -u LdTubNF7u1pxTeWa98Q46K2vqhUa:clx4UTH1h2DdXuSMhzWrfXPSBJga -k -d“ grant_type = client_credentials” -H“ Content-Type:application / x-www-form-urlencoded” http://10.37.2.2/2/ken:to

这会为我生成令牌。 理想情况下,它应已失败,因为已为特定租户配置了应用程序。 我试图通过传递一些未列出的域名来访问它,但它仍然有效。 例如

curl -u LdTubNF7u1pxTeWa98Q46K2vqhUa:clx4UTH1h2DdXuSMhzWrfXPSBJga -k -d "grant_type=client_credentials" -H  "Content-Type:application/x-www-form-urlencoded" http://10.37.2.XX:9763/oauth2/token?tenantDomain=mytrail.com
  1. 密码授予

    curl -v -X POST -H“授权:基本TGRUdWJORjd1MXB4VGVXYTk4UTQ2SzJ2cWhVYTpjbHg0VVRIMWgyRGRYdVNNaHpXcmZYUFNCSmdh” -k -d“ grant_type = password&user ==-xxx- pass-http: // x- len- “ /”-“ 2.xx:9763 / oauth2 /令牌

这里的用户名和密码属于租户mydomain.com,我得到以下错误。

[2017-03-31 01:45:33,420] DEBUG {org.wso2.carbon.identity.oauth2.token.handlers.grant.PasswordGrantHandler} -  Non-SaaS service provider tenant domain is not same as user tenant domain; mydomain.com != carbon.super
[2017-03-31 01:45:33,420] DEBUG {org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} -  Invalid Grant provided by the client Id: LdTubNF7u1pxTeWa98Q46K2vqhUa

有人可以告诉我我在这里错过了什么吗? 我希望我的申请特定于租户。

谢谢拉玛

这两种情况可以描述如下。

  1. 在客户端凭据授予类型中,令牌终结点必须正在从发送的客户端ID值(而不是通过查询参数)计算租户域信息,当您发送客户端凭据授予令牌请求时,WSO2 Identity Server提取Authorization标头,获取客户端id值并找到应用程序。 由于客户端ID和密码值有效,因此它将返回令牌。

  2. 当您尝试提供用户名和密码的密码授予类型时,Identity Server首先验证用户的租户域。 当您提供没有租户域信息的用户名时,Identity Server会假定超级租户域(carbon.super)并检查它是否与Oauth应用程序租户域匹配(应用程序由客户端ID标识)。 您会收到错误消息,因为这两个属性是不同的。 如果您的用户名参数也包含租户域,则此方案应该可以正常工作。

假设您在mydomain.com中有一个用户名为user1的用户。 在密码授予令牌请求中,将user1@mydomain.com作为用户名参数值。 然后,它应该返回令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM