You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 IS 5.10.4更新Service Provider报Duplicate Key错误咨询

WSO2 IS 5.10.4更新SP联邦认证报Duplicate key异常排查方案

问题场景

WSO2 IS 5.10.4版本环境中,将指定服务提供者(SP)的认证类型从Basic基础认证切换为对接自有Azure IDP的联邦认证(Federated Authentication)时,管理控制台GUI弹窗抛出如下错误:

Error while updating Service Provider : Duplicate key [Lorg.wso2.carbon.identity.application.common.model.Property;@7ba219e7

触发原因

  • 核心根因为WSO2 IS 5.10.x系列的已知代码缺陷:联邦认证配置的存储逻辑中,将Property类型数组转换为Map结构存储时,org.wso2.carbon.identity.application.common.model.Property类未重写equals()与hashCode()方法,默认使用对象内存地址作为键判断依据,当配置中存在逻辑上重复的属性条目时,就会触发重复键异常。
  • 常见触发场景包括:
    • 该SP历史上配置过其他联邦IDP,删除旧IDP关联时未完全清理残留的认证属性配置,冗余条目存储在数据库的SP配置字段中
    • 配置Azure IDP联邦认证参数时,手动重复添加了同名的自定义属性(如重复添加ClientID、ClientSecret属性条目)
    • 从低版本升级到5.10.4版本时,SP配置数据迁移不完整,遗留了重复的认证属性条目

排查解决步骤

  • 控制台层面快速排查
    1. 进入报错SP的配置页面,先删除所有已配置的认证步骤、联邦IDP关联配置,点击更新提交,确认基础配置是否能正常保存。
    2. 如果清空配置后可正常保存,重新按流程配置Azure IDP联邦认证,添加认证器属性时逐一核对,避免重复添加同名字段,提交即可恢复。
  • 数据库层面清理残留配置
    1. 如果清空控制台配置后仍然报错,连接WSO2 IS对应的身份数据库,查询SP_APP表中对应SP的记录,提取AUTH_CONFIG字段存储的XML配置内容,检索是否存在name属性完全相同的重复<Property>节点。
    2. 操作前先备份SP_APP表全量数据,手动删除XML中重复的冗余Property节点,保存更新后重启WSO2 IS节点,再重新配置Azure联邦认证即可。
  • 永久修复方案
    针对该版本的代码缺陷,可修改org.wso2.carbon.identity.application.common.model.Property类,基于属性的name字段重写equals()和hashCode()方法,替换对应组件jar包后重启集群节点,可彻底规避该类重复键异常。

内容的提问来源于stack exchange,提问作者Jason Whitener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 11:18:36