Okta Api 用户目录

Okta Api User Directory

使用 okta API,我们试图显示一个简单的员工目录。基本上我们想在网页上列出特定组中的所有活跃用户。

看起来应该超级简单。

如果我使用用户端点,我可以获得所有用户并按状态筛选为活动状态,但我似乎无法按组筛选。

如果我使用群组端点,我可以获得群组中的所有用户,但我似乎无法按状态过滤。

我该怎么办?

编辑:添加了我的 api 个调用

方法一

$filters = 'status eq "ACTIVE"';

$c = curl_init("https://wvuf.okta.com/api/v1/users?filter=".urlencode($filters));

方法二

$c = curl_init("https://wvuf.okta.com/api/v1/groups/xxxxGROUPIDxxxx/users");

不幸的是,这在当前版本的 Okta API 中是不可能的。正如您推测的那样,您可以获取所有具有 ACTIVE 状态的用户,然后遍历他们以获取每个用户的组,或者获取特定组的所有用户并按状态手动过滤。

后一种方法可能更可取,因为它会减少调用次数(假设用户多于组)。

列表组成员 (/api/v1/groups/${groupId}/users) 端点不支持 filter 查询参数

https://developer.okta.com/docs/reference/api/groups/#group-member-operations

一个建议是进行一些客户端过滤(例如使用 jq 等)

Okta 的组 API 中的 ListGroupUsers 方法枚举属于指定组的所有用户。

看看我为我正在进行的项目创建的这个工具,okta-admin,在一个易于使用的 CLI 中为 Okta 包装了 Golang SDK(它有效地调用了 REST API 请求...)

okta-admin groups listusers $groupId

我添加了传递 API 或端点支持的过滤器参数以及 jsonquery 参数的功能,您可以在其中执行搜索或投影客户端。