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

WSO2是联合登录,未显示正确的用户声明,wso2,wso2is,Wso2,Wso2is,考虑一下您有WSO2 IS(5.3.0)和上游IDP(例如SAML IDP)的情况 登录过程如下:用户访问重定向到本地WSO2 is的服务提供商(如OpenID Connect client)。SP配置为使用上游SAML IDP或本地登录作为出站身份验证选项。 上游SAML IDP在断言中返回一些属性,但没有配置JiT配置 现在使用服务提供者从登录过程中获得的访问令牌 使用令牌查询WSO2的SOAP令牌验证端点 ->返回的用户声明是来自本地用户存储(嵌入式LDAP)的声明 查询userinfo

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

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

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

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


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

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

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


    在IMO中,如果用户是jit配置的,则应自动创建帐户关联。不确定这是一个bug还是每个设计。至少有一些方法可以解决这个问题。

    您使用的是什么版本?现在将其添加到帖子中。它是Identity Server 5.3.0