【问题标题】:WSO2 Identity server with multiple tenants and configure the application具有多个租户的 WSO2 身份服务器并配置应用程序
【发布时间】:2017-08-25 07:55:16
【问题描述】:

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

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

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

我尝试通过 clientCredential 和密码授权类型生成 OAuth 访问令牌。我面临以下问题。

  1. 客户端凭据授予:

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

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

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&username=xxx&password=xxxx" -H "Content-Type:application/x-www-form-urlencoded" @9876

这里的用户名和密码属于租户 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

谁能告诉我我在这里错过了什么?我希望我的应用程序是特定于租户的。

谢谢 罗摩

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

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

    1. 在客户端凭据授予类型中,令牌端点必须根据您发送的客户端 ID 值计算租户域信息(而不是通过查询参数)当您发送客户端凭据授予令牌请求时,WSO2 身份服务器提取授权标头,获取客户端 ID 值并找到应用程序。由于客户端 Id 和 secret 值是有效的,它会返回令牌。

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 2018-07-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多