关于GetApp请求的Okta API问题

时间:2016-11-30 17:27:41

标签: php curl web okta okta-api

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

  1. 分配给用户的列表应用列表进行GET调用时 分配给用户的应用,我收到了所有已添加应用的回复 到OKTA实例,而不是与当前相关的实例 用户会话。我有一面旗帜吗?

  2. 获取应用程序列表的结果数组时,返回     所有办公室365'子应用程序'(邮件,日历等)作为子阵列     到父应用程序。但是,这些子应用程序在孩子身上     数组不会返回图像链接,这是其他标准     应用程序。现在虽然我可以为它们编写代码,但事实并非如此     理想。对此有何建议?

  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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

  3. 要测试第二个调用,请将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)
      {
    
      }
    });
    

    两次调用都会返回分配给用户的应用。