管理员:重置其他用户密码#

预计阅读时间:2分钟

作为管理员重置其他用户的密码非常简单。您只需为特定用户生成密码重置令牌,并通过安全的方式发送给他们。

不用担心,令牌一旦使用就会失效,之后暴露它不会带来安全风险。

1. 使用您的凭据登录#

首先,使用您的管理员凭据登录数据站点:

admin_client = sy.login(
    url=SERVER_URL,
    port=SERVER_PORT,
    email=ADMIN_EMAIL,
    password=ADMIN_PASSWORD,
)

2. 选择要重置密码的用户#

搜索用户并选择需要重置密码的那位。最简单的方式是通过电子邮件。

注意

.users.search 函数返回一个列表,因此您还需要从该列表中选择一个元素(通常当您使用完整电子邮件地址搜索时,会选择第一个元素)。

user = admin_client.users.search(email=USER_EMAIL)[0]

3. 生成密码重置令牌#

token = admin_client.users.request_password_reset(user.id)
print(token)

4. 发送令牌#

生成令牌后,请以安全的方式将其发送给用户。

他们将使用访客客户端来重置密码,如下所示:

guest_client = sy.login_as_guest(
    url=SERVER_URL,
    port=SERVER_PORT,
)

guest_client.reset_password(
    token=token,
    new_password='*****'
)

重置密码后,他们将能够像往常一样使用新密码登录。

全部完成!