我想从外部应用程序为 service now 用户模拟密码重置服务,并且我已在我的 servicenow 开发人员实例上安装了密码重置 - Orchestration Add-on 插件。除此之外,我还可以在 REST 资源管理器上看到密码重置 API 列表(例如 pwd_init、pwd_verify 等)。我浏览了有关此 documentation page 的可用文档但如果我尝试从 Postman 等外部服务调用这些 API,我无法理解请求负载会是什么样子。我想要类似的东西this api documentation .
有人可以帮我解决这个问题吗?
最佳答案
使用表 API 来执行此操作。 为了重置用户的密码,您基本上需要更新 sys_user 表中用户记录的 user_password 字段。
Method: PUT/PATCH
http://<instance>/api/now/table/{tableName}/{sys_id}
这里的tableName是sys_user,sys_id是sys_user表中用户记录的sys_id。
API 请求的正文应如下所示:
{
"user_password": "resetpasswordtext"
}
请记住,这将重置用户的密码,但新密码不会是“resetpasswordtext”。因此用户将无法使用“resetpasswordtext”登录。
要通过 API 实际设置用户密码,可以使用与上面相同的表 API。但为了将密码正确加密存储在数据库中,应在请求 URL 中添加以下查询参数来设置密码。
sysparm_input_display_value=true
因此 API 调用将是
Method: PUT/PATCH
http://<instance>/api/now/table/{tableName}/{sys_id}?sysparm_input_display_value=true
BODY: {
"user_password": "newpassword"
}
现在用户可以使用文本“newpassword”登录实例。 希望它对您的用例有所帮助。
关于servicenow - 现在如何在服务上使用密码重置 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833958/