我目前正在使用OKTA平台和API开展项目,但有一些疑问。
为分配给用户的列表应用或列表进行GET调用时 分配给用户的应用,我收到了所有已添加应用的回复 到OKTA实例,而不是与当前相关的实例 用户会话。我有一面旗帜吗?
获取应用程序列表的结果数组时,返回 所有办公室365'子应用程序'(邮件,日历等)作为子阵列 到父应用程序。但是,这些子应用程序在孩子身上 数组不会返回图像链接,这是其他标准 应用程序。现在虽然我可以为它们编写代码,但事实并非如此 理想。对此有何建议?
谢谢!
答案 0 :(得分:0)
您可以通过两种方式使用分配给用户的列表应用。首先是服务器端调用,需要具有正确权限的API令牌。第二个是用户与Okta进行活动会话后的浏览器调用。您需要用户名才能进行第二次通话。
GET /api/v1/apps?filter=user.id+eq+"{{userId}}"
- >从服务器端
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)
{
}
});
两次调用都会返回分配给用户的应用。