1

我正在尝试与 OneLogin SSO 集成,在我们的应用程序中,我们有一个启用/禁用用户的系统。我们还想在 OneLogin 上设置该状态,以便用户在其帐户被禁用后也无法登录。

唯一的问题是 - 我找不到合适的 API 端点来执行此操作。当我在管理面板上执行此操作时(翻转用户“活动”开关)并保存它,然后调用用户 API,我得到

GET https://api.us.onelogin.com/api/1/users

回复:

{   
    ...
    'status': 2,
    ... 
}

从我读到的文档中,1 处于活动状态,2 处于暂停状态,这很好。当我打开管理员开关时,状态是唯一改变的东西(在 API 中获取用户结果)。它完全符合我的需要 - 禁用用户登录能力。

问题是我无法通过 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"
    }
  }
}

我使用 API 版本 1,我依赖的文档: https ://developers.onelogin.com/api-docs/1/users/user-resource

所以问题是:我使用哪个端点来禁用/启用用户帐户或更改此状态?可以通过API实现吗?

4

1 回答 1

1

我想到了。当您继续用户 -> 映射时,您可以创建操作映射(如果您通过 API 设置特定字段,则会发生定义的操作)。只需设置一个您不使用的内置字段,在我的情况下,我使用“标题”,并设置操作来设置状态: 我使用标题,您可以选择任何附加字段

然后创建一个类似的规则,以停用用户。毕竟,在映射屏幕上单击“重新应用所有映射”就可以了。在任何进一步的 API 请求中,如果此字段将更改,则会触发相应的事件。

于 2016-08-22T07:12:04.107 回答