如何在服务上使用密码重置REST API?

时间:2018-06-13 09:38:34

标签: servicenow servicenow-rest-api

我想从外部应用程序为服务现在的用户模拟密码重置服务,并且我已经在我的servicenow开发人员实例上安装了Password Reset - Orchestration Add-on插件。除此之外,我还可以在我的REST资源管理器上看到一个Pwd Reset API列表(例如pwd_init,pwd_verify等)。我浏览了这个documentation page上提供的文档,但是如果我试图从Postman这样的外部服务调用这些API,我将无法理解请求的有效负载是什么样的。我想要类似this api documentation的东西。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

使用Table 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"
}

请记住,这会重置用户的密码,但新密码不会是&#34; resetpasswordtext&#34;。因此用户将无法使用&#34; resetpasswordtext&#34;。

登录

要通过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"
}

现在的文字&#34; newpassword&#34;用户可以使用它来登录实例。 希望它对您的用例有所帮助。

相关问题