OneLogin 用户状态 API

OneLogin user status API

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

唯一的问题是 - 我找不到合适的 API 端点来执行此操作。 当我在管理面板上执行此操作时(翻转用户 'active' 开关)并保存,然后调用用户 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实现吗?

我明白了。当你继续用户 -> 映射时,你可以创建一个动作映射(如果你通过 API 设置一个特定的字段,定义的动作将会发生)。只需设置一个你不使用的内置字段,在我的例子中我使用 'title',并设置操作来设置状态:

然后创建一个类似的规则,来停用用户。毕竟,在映射屏幕上单击 'Reapply all mappings' 即可。在任何进一步的 API 请求中,如果此字段发生变化,相应的事件将被触发。