2016-11-30 67 views
0

我目前正在使用OKTA平臺和API處理項目,但有一些疑問。Getta請求中的Okta API問題

  1. 使得分配給用戶或列表中的一個GET呼籲列表應用 應用程序分配給用戶時候,我得到了所有應用程序的響應添加 於1563實例,而不是那些與當前的 用戶會話有關。有一面我忽略了嗎?

  2. 當獲取應用程序列表的結果數組時,它會將所有Office 365的子應用程序(郵件,日曆等)作爲子數組 返回給父應用程序,並返回 。但是,子 陣列中的這些子應用程序不會返回圖像鏈接,而其他標準應用程序可以執行此操作。現在雖然我可以爲他們編寫硬編碼,但這不是理想的。有關這方面的任何建議?

謝謝!

+0

1:您可以包含GET請求的示例,列出應用程序分配給用戶? http://developer.okta.com/docs/api/resources/apps.html#list-applications-assigned-to-user 2:您是否也可以包含您獲得的請求和結果的清理示例? –

+0

1. {{url}}/api/v1/apps?filter = user.id + eq +「{{userId}}」 2.https://jsfiddle.net/#&togetherjs=zLIyUg25um –

回答

0

有兩種方法可以使用分配給用戶的列表應用程序。首先是需要具有正確特權的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) 
    { 

    } 
}); 

這兩個調用都會返回分配給用戶的應用程序。

+0

服務器端調用你發佈的是我正在使用的,但似乎是返回所有應用程序仍然不只是分配的。 –

+0

James - 我只是用userid過濾器試過應用程序調用,並且只爲我提供了用戶的應用程序。你能證實你提出了正確的要求嗎?例如,如果你傳遞了一個不好的userId,你將不會返回任何應用程序。順便說一句,測試這個簡單方法是使用Apps postman集合(更多信息[here](http://developer.okta.com/docs/api/getting_started/api_test_client.html))。 – remanc