-1

在 wso2-IS 5.11 中,尝试通过 cURL restAPI 命令更新密码操作。

WSO2 IS 操作

我收到以下 curl 请求的重置密码邮件通知,

$ curl -X POST -k -H "Authorization: Basic YWRxxxx=" -H "Content-Type: application/json" -d '{"user": {"username": "John","realm": "PRIMARY"},"properties": []}' "https://localhost:9445/api/identity/recovery/v0.9/recover-password?type=email&notify=true"

但不是在 reset-password-window 中重置密码,我需要像这样通过 cURL 传递重置密码值,但这也需要具有有效期的确认键码,这在 IDN_RecoveryDataTable 中可用根据此文档,所以在哪里“IDN恢复数据表”找出来。?我应该使用相同的操作吗?或者需要尝试一些不同的用例,例如通过 cURL RestAPI 的活动和非活动用户,以及第三种情况密码无效。

4

1 回答 1

1

看来您正在关注博客 [1] 并参考ii) Update Passwordstep.

IDN_RECOVERY_DATA是身份数据库的表,WSO2IS 在其中存储有关恢复流的信息。但是您不必担心存储在数据库中的数据。

如果您只是尝试更改用户密码而不发送电子邮件,则可以使用 SCIM API。

以下是在提供现有密码时更新用户密码的示例。

curl -X PATCH 'https://localhost:9443/scim2/Me' \
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Basic {base64(username:currentPassword)}' \
-d '{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "value": { "password": "newPassword" } } ]}'

如果您想发送电子邮件并取消 WSO2 UI 以创建新密码,您可以更改电子邮件模板以在用户单击电子邮件中的链接后将用户重定向到您的 UI。然后使用该链接中包含的确认代码来调用密码set-passwordAPI。文档 [2] 包含有关与帐户恢复相关的 API 的信息,可在 WSO2 Identity Server 5.11.0 中找到。

要锁定或禁用用户,您可以使用 SCIM API 修补相关的用户属性。

[1] https://medium.com/@isurakarunaratne/password-recovery-wso2-identity-server-b80abe2bcc61

[2] https://docs.wso2.com/display/IS511/apidocs/account-recovery/

于 2021-12-24T17:20:25.567 回答