我正在尝试集成OneLogin单点登录,在我们的应用程序中,我们有一个启用/禁用用户的系统。我们希望在OneLogin上也设置该状态,以便用户在其帐户被禁用后也无法登录到那里。
唯一的问题是,我找不到合适的API端点来做这件事。当我在管理面板上做这件事(翻转用户‘活动’开关)并保存它,然后调用用户API,我得到
GET https://api.us.onelogin.com/api/1/users响应:
{
...
'status': 2,
...
}从文档中我读到1是活动的,2是挂起的,这是好的。当我打开admin开关时,状态是唯一改变的(在API get users结果中)。它做了我需要做的事情--禁止用户登录。
问题是我不能通过API设置它:
PUT https://api.us.onelogin.com/api/1/users/XXXXXX请求正文:
{"status": 2}响应:
{
"status": {
"error": true,
"code": 400,
"type": "bad request",
"message": {
"description": "status is an excluded attribute for put request for user",
"attribute": "status"
}
}
}我使用的是APIversion1,我所依赖的文档:https://developers.onelogin.com/api-docs/1/users/user-resource
因此,问题是:我应该使用哪个端点来禁用/启用用户帐户或更改此状态?可以通过API实现吗?
发布于 2016-08-22 15:12:04
我想通了。当您继续进行用户->映射时,您可以创建一个操作映射(如果您通过API设置了一个特定的字段,则会发生定义的操作)。只需设置一个您不使用的内置字段,在我的示例中使用'title',并设置action来设置状态:

然后创建一个类似的规则,以停用用户。毕竟,在mappings屏幕上点击'Reapply all mappings‘,就是它了。对于任何进一步的API请求,如果此字段发生更改,则将触发相应的事件。
https://stackoverflow.com/questions/38997605
复制相似问题