无法从wso2获取远程索赔

无法从wso2获取远程索赔,wso2,wso2is,wso2carbon,Wso2,Wso2is,Wso2carbon,我已经将wso2与另一个配置的身份提供商(如:谷歌、雅虎)一起使用。 当我登录表单IDP并重定向回回调URL时,我的应用程序 调用/outh2/tokenAPI根据授权代码获取id\u token,但问题是无法获取我在服务提供商映射中配置的远程声明(IDP自定义声明属性)。我并非所有用户都随机面临此问题 成功索赔日志:TID:[-1234][[2018-04-24 07:25:03300]调试{org.wso2.carbon.identity.application.authentication

我已经将wso2与另一个配置的身份提供商(如:谷歌、雅虎)一起使用。 当我登录表单IDP并重定向回回调URL时,我的应用程序 调用/outh2/tokenAPI根据授权代码获取id\u token,但问题是无法获取我在服务提供商映射中配置的远程声明(IDP自定义声明属性)。我并非所有用户都随机面临此问题

成功索赔日志:TID:[-1234][[2018-04-24 07:25:03300]调试{org.wso2.carbon.identity.application.authentication.framework.handler.claims.impl.DefaultClaimHandler}-从索赔处理人处返回索赔=[middle_name:M,gived_name:abc,family_name:xyz,email:abc。xyz@domain.com,]


失败声明日志:07:32:19062]调试{org.wso2.carbon.identity.application.authentication.framework.handler.claims.impl.DefaultClaimHandler}-从声明处理程序返回声明=[]

似乎您正面临[1]中提到的问题。此问题已在主分支中修复,并且该修复可作为is-5.4.0和is-5.5.0的wum更新提供。您可以尝试WSO2 Identity Server的最新里程碑,也可以获得IS 5.4.0或IS 5.5.0的wum更新包


[1]

您是否将上述自定义索赔值分配给了失败的用户?是的,它适用于同一用户登录,并在某一时间对同一用户失败。感谢Nilasini的更新,我一直在使用5.4.0版本,根据我在启用调试日志身份验证框架/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/handler/claims/impl/DefaultClaimHandler.java之后的分析,当logInput()时该远程声明的方法调用可用,但handleFederatedClaims()调用远程声明已从此方法日志中的map logOutput()中丢失。我已尝试使用wso2 IS 5.5.0,但仍然面临相同的问题。根据我的分析,remote声称该类方法DefaultClaimHandler.java->handleFederatedClaims()未命中位置。该修复仅在WSO2 Identity Server的最新里程碑中可用。您可以在中找到最新的里程碑。如果您想试用5.4.0或5.5.0,则需要获得wum更新包。你试过wum更新包吗?。上述修复程序仅通过is-5.4.0和5.5.0的wum更新可用。我已根据上述链接克隆了5.6.0最新里程碑,并配置了所有必需的设置,但在更新SP时,我遇到以下错误:原因:com.microsoft.sqlserver.jdbc.SQLServerException:从数据类型nvarchar(max)隐式转换为varbinary(max)这是不允许的。使用CONVERT函数运行此查询。在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)上,您是否有任何关于为什么在5.6.0中发生此异常的帮助。您是否也从服务器启动中获得任何异常?。如果您给我完整的堆栈跟踪,我可以在这方面帮助您,因为在默认的5.6.0-m6包中,使用MySQL作为数据库,使用JDBC用户存储,更新SP时没有问题。