是否可以从 API 端点更新 WSO2IS 用户密码

问题描述

我想从 API 端点更新 wso2 身份服务器用户密码。我的情况是当我从我的应用程序中单击密码重置按钮时,应该在 WSO2IS 中更新给定的密码。有没有可能。

解决方法

您可以通过向 SCIM2 端点发出 PATCH 请求来实现此目的。下面的 Curl 命令是由管理员重置用户的密码。 (使用/scim2/Users/<user-id>并添加授权头<base64 encoded username:password of admin>)(参考:https://is.docs.wso2.com/en/latest/develop/scim2-rest-apis/#/Users%20Endpoint/patchUser

如果重置是由同一用户完成的,您可以使用 /scim2/Me 端点(参考:https://is.docs.wso2.com/en/latest/develop/scim2-rest-apis/#/Me%20Endpoint/patchUserMe)。然后授权标头应包含特定用户的凭据或有效的访问令牌。

curl --location --request PATCH 'https://localhost:9443/scim2/Users/<user-id>' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
    "Operations": [
        {
            "op": "replace","value": {
                "password": "newpassword"
            }
        }
    ],"schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ]
}'