2013-02-15 52 views
1

如果您已通過APPID和APPKEY以及特定用戶(即系統提示已輸入和驗證用戶的用戶名和密碼)進行身份驗證並且系統已發送回USERID和USERKEY。那麼您可以進行API調用以將該用戶認證爲D2L,以便用戶到達D2L MY HOME頁面嗎?使用應用程序ID和應用程序密鑰將用戶驗證爲D2L

除此之外... 如果針對特定用戶的用戶名和USERKEY存儲在數據庫中,可以使用單獨的數據使用API​​調用,使用戶到達MY驗證用戶到D2L首頁沒有額外的登錄提示?

據我所知,如果USERID和USERKEY過期了,這是行不通的。

回答

3

這個問題有幾個不同的問題。

用戶的活動網絡會話。目前,D2L的Valence平臺的用戶身份驗證不適用於此方式。所述LMS將只提供回一個用戶ID /密鑰對作爲AUTH過程的一部分時,它可以確認它具有與用戶的活動會話:

  1. API調用客戶端發出請求直接向LMS到爲用戶檢索用戶ID /密鑰對。

  2. a。如果LMS與用戶有活動會話(必要時生成),並返回該應用程序/用戶對的用戶ID /密鑰對。

    b。如果LMS不是而不是與用戶有活動會話,請通過它配置的用於認證用戶的登錄過程:這可能是將呼叫Web請求重定向到LMS自己的用戶登錄頁面,或者重定向可能通過LMS用來認證用戶的第三方服務(例如,配置的SSO IDP)。

這意味着:如果你使用的API來啓動身份驗證過程中檢索用戶ID /密鑰對,調用Web瀏覽器將(作爲這一過程的一部分)已經有一個活躍的網絡會話與LMS。或者用戶將被要求使用LMS使用的任何認證過程登錄,用戶已經這樣做了,並且調用瀏覽器將知道(因爲它具有指示活動會話的cookie狀態)。

程序化登錄。目前,D2L的Valence平臺支持而非支持直接參與用戶認證過程:沒有通過提供用戶標識/密碼或用戶與LMS共享的任何其他祕密來向LMS認證用戶的呼叫。 Valence安全模型專門設法避免讓API調用客戶端了解用戶與LMS之間共享的身份驗證祕密。

使用價學習框架的API的客戶端需要任一:

  • 通過請求來自LMS(在這種情況下,LMS將尋求權威性所述用戶的用戶ID /密鑰對啓動認證過程;請參閱上一個答案)

  • 通過使用已從LMS收集的緩存狀態中的有效用戶標識/密鑰對重建用戶上下文(這反過來又會要求真實用戶使用LMS)

用戶名/密鑰對失效。請注意,由LMS提供給主叫客戶端的這些授權令牌旨在是長壽命。它們應該超出瀏覽器爲用戶提供的當前Web會話。因此,客戶端應用程序應將這些數據作爲安全數據,尤其是與客戶端應用程序自己的ID /密鑰對(由於用戶ID /密鑰對綁定了應用程序自己的ID /密鑰對)相結合。雖然我們希望客戶端應用程序緩存這些身份驗證令牌,但我們也希望將它們緩存爲敏感信息。

當這些事件中的一個發生了一個應用程序生成的用戶的ID /密鑰對將過期:

  • 的當LMS產生其與ID /密鑰對相關聯的到期時間的到來(所述LMS管理員可以確保,這些令牌的默認期滿的時間值爲「不定」)

  • 用戶的口令改變(由用戶或管理員LMS復位它)

  • 的LMS管理員手動撤銷用戶的客戶端應用訪問權限

相關問題