WSO2 IS联合登录未显示正确的用户声明

时间:2017-04-26 15:56:25

标签: wso2 wso2is

考虑您拥有WSO2 IS(5.3.0)和上游IDP(例如SAML IDP)的情况。

登录程序如下:用户访问重定向到本地WSO2 IS的服务提供商(例如OpenID Connect客户端)。 SP配置为使用上游SAML IDP或本地登录作为出站身份验证选项。 上游SAML IDP在断言中返回一些属性,但未配置JiT配置。

现在使用服务提供商从登录过程获取的访问令牌

  1. 使用令牌查询WSO2 IS的SOAP令牌验证端点   - >返回的用户声明是来自本地用户存储(嵌入式LDAP)的声明
  2. 查询userinfo REST端点   - >用户声明是SAML断言中上游IDP返回的声明,userinfo不返回任何本地属性
  3. 这是配置问题吗?有办法解决这种问题吗?

    使用userinfo端点更糟糕的是,返回的声明取决于用户是通过本地登录(在WSO2 IS中)还是通过上游外部IDP登录。 SOAP令牌验证端点不是这种情况,它在两种情况下都返回相同的属性。

1 个答案:

答案 0 :(得分:0)

我对此进行了更多调查。看起来SOAP令牌验证端点使用直接访问用户存储(例如LDAP)的声明检索器,而userinfo端点从缓存中获取配置文件属性。缓存条目在身份验证时生成,并使用SAML断言中的信息填充。

解决方法可能是为IDP启用JiT配置。不幸的是,只要在IDN_ASSOCIATED_ID中没有维护帐户关联,就仍然存在不匹配。

IMO应自动创建帐户关联,以防用户进行jit配置。不确定这是一个bug还是每个设计。至少可以选择解决这个问题。

相关问题