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

问题描述:

请考虑您拥有WSO2 IS(5.3.0)和上游IDP(例如SAML IDP)的情况。WSO2 IS联合登录未显示正确的用户声明

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

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

  1. 查询WSO2的SOAP令牌验证端点令牌 IS - 返回>用户权利是从本地用户存储索赔(嵌入LDAP)
  2. 查询用户信息REST端点 - >用户的权利要求通过在SAML声明上游IDP所返回的权利要求中,用户信息不返回任何局部属性

这是一个配置问题?有没有办法解决这个问题?

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

+1

什么是你使用的IS版本? – farasath

+0

现在把它添加到帖子中。它是Identity Server 5.3.0 – Hos

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

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

国际海事组织应该自动创建帐户关联以防万一用户被配置。不确定这是一个错误还是每个设计。至少有选择可以解决这个问题。