尝试通过Scim Patch请求更新用户时出现错误,我不确定是什么问题。
这是请求
import React from "react";
import SidebarCategories from "./SidebarCategories";
export class Sidebar extends React.Component {
render() {
return (
<div className="sidebar col-sm-2">
<div className="row">
<div className="sidebar__header col">
<img alt="Logo" className="img-fluid sidebar__header__logo" src="../resources/img/logo-white.png" />
{'\u00A0'} <h4 className="sidebar__header__title i-block">Title</h4>
</div>
</div>
<div className="row">
<div className="sidebar__user container-fluid">
<div className="row">
<div className="col-sm-4 text-center">
<img alt="User DP" className="sidebar__user__img img-fluid rounded-circle" src="../resources/img/user.jpg" />
</div>
<div className="col-sm-8">
<p><strong>Welcome</strong><br />
Mark Hughes</p>
</div>
</div>
</div>
</div>
<div className="row">
<SidebarCategories />
</div>
</div>
);
}
}
这是Wso2中的错误
curl -v -k --user admin:admin -X PATCH -d '{
"schemas": ["urn:scim:schemas:core:1.0"],
"name": {
"familyName": "Tester"
},
"meta": {
}
}' --header "Content-Type:application/json" https://localhost:9443/wso2/scim/Users/user-id-here
我按照Scim doc
执行了请求在Wso2 issue tracker有一张类似的票,但它被认为是固定的。
不确定是什么问题。这是请求中的问题还是某些Wso2配置。
答案 0 :(得分:0)
您的补丁请求中存在三个问题。
缺少userName属性。 WSO2实现要求您在对用户执行PATCH操作时具有userName属性。
&#34; meta&#34;属性没有&#34;属性&#34;子属性。这是规范违规。如果您没有要删除的任何属性,则基本上可以完全省略元属性。
指定架构&#34;&#34; urn:scim:schemas:core:1.0&#34;似乎在WSO2 Identity Server实现中创建了一个问题。
以下是您使用过的curl命令的工作版本。
curl -v -k --user admin:admin -X PATCH -d "{
"schemas":[],
"name":{
"familyName": "Tester"
},
"userName":"indunil",
"meta": {
"attributes":[]
}
}"
--header "Content-Type:application/json" https://localhost:9443/wso2/scim/Users/e9e57b58-3e90-4165-aadc-697a06f1eb9e