WSO2 Identity Server - 如何以租户管理员身份更改用户密码

WSO2 Identity Server - How to Change User Password As a Tenant Admin

我想以租户管理员身份更改特定用户的密码。我看到 UserIdentityManagementAdminService.wsdl 有一个名为 changeUserPassword 的函数,但这只接受 old passwordnew password,而不接受 username

我知道 resetUserPassword 但我不想使用它,因为我只想在正确提供 oldPassword 时更改密码。

在我看来,管理员用户通过发送用户名和旧密码来更新用户密码不是一个有效的用例。我们不能指望管理员用户知道其他用户的密码。

您可以使用 resetUserPassword 方法,否则您需要自己更改密码,您需要使用 changeUserPassword 通过使用用户在登录时获得的 cookie。

可以使用UserAdmin服务changePasswordByUser以用户身份更改密码。在 Identity Server 5.0.7 中,Web 服务接受 username 作为参数。

如果您使用UserAdmin服务的[1] changePasswordByUser方法,您仍然需要提供用户的旧密码。这是 SOAP 请求。

<Envelope>
   <Header/>
   <Body>
      <changePasswordByUser>
         <userName>?</userName>
         <oldPassword>?</oldPassword>
         <newPassword>?</newPassword>
      </changePasswordByUser>
   </Body>
</Envelope>

[1] https://localhost:9443/services/UserAdmin?wsdl