0

我目前正在使用 OKTA 平台和 API 开展一个项目,但有一些疑问。

  1. 在对分配给用户的列表应用程序或分配给用户的列表应用程序进行 GET 调用时,我收到了添加到 OKTA 实例的所有应用程序的响应,而不是与当前用户会话相关的应用程序。有我忽略的标志吗?

  2. 在获取应用程序列表的结果数组时,它将所有 office 365“子应用程序”(邮件、日历等)作为子数组返回给父应用程序。但是,子数组中的这些子应用程序不会与图像链接一起返回,而其他标准应用程序会这样做。现在,虽然我可以为它们硬编码,但这并不理想。对此也有什么建议吗?

谢谢!

4

1 回答 1

0

您可以通过两种方式使用分配给用户的列表应用程序。首先是服务器端调用,它需要具有正确权限的 API 令牌。其次是一旦用户与 Okta 进行了活动会话后的浏览器调用。您需要用户名才能拨打第二个电话。

  1. GET /api/v1/apps?filter=user.id+eq+"{{userId}}"-> 从服务器端

  2. GET /api/v1/users/{{username}}/appLinks -> 从浏览器/JavaScript

要测试第二个调用,请将 URL 粘贴到具有登录会话的浏览器中,以确保获得所需的结果。如果进行 AJAX 调用withCredentials: true,您将需要发送。xhrFields例如:

$.ajax({
  type: "GET",
  url: "https://example.okta.com/api/v1/users/{{username}}/appLink",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  xhrFields: {
    withCredentials: true
  },
  cache: false,
  success: function(data, status)
  {

  },

  error: function(data, status)
  {

  }
});

这两个调用都会返回分配给用户的应用程序。

于 2016-12-01T19:43:19.670 回答