【问题标题】:Okta API Questions on GetApp Requests关于 GetApp 请求的 Okta API 问题
【发布时间】:2017-04-15 03:24:24
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

标签: php curl web okta okta-api


【解决方案1】:

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

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

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

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

$.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)
  {

  }
});

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

【讨论】:

  • 您发布的服务器端调用是我正在使用的,但似乎返回的所有应用程序仍然不仅仅是分配的应用程序。
  • James - 我刚刚尝试使用 userid 过滤器调用应用程序,但这只为我提取了用户的应用程序。你能确认你提出的请求是正确的吗?例如,如果您传入了错误的 userId,您应该不会返回任何应用程序。顺便说一句,一个简单的测试方法是使用 Apps postman 集合(更多信息here)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 2019-02-18
  • 2011-04-27
相关资源
最近更新 更多