Asp.net

Active Directory 帳戶的 Oauth 2 令牌

  • April 12, 2015

我過去曾使用 Owin 在我的 Mvc Web Api 項目中創建令牌端點,以提供具有“資源所有者密碼憑據授權類型的 oauth 2.0 令牌,其中訪問令牌提供者將檢查數據庫使用者表以驗證所提供憑據的有效性由移動客戶端(使用 Visual Studio 工具為 Cordova 開發的多平台應用程序)。

在此項目中,Web Api 將由Active Directory Windows 域帳戶使用的多平台移動應用程序使用

我想使用 Owin Oauth 2.0 向這些使用者授予訪問令牌,但我不知道如何檢查這些憑據的有效性。

我在想的是把/token端點放在後面"basic authentication",並在 Access Token Provider 的程式碼中從身份中獲取使用者,在經過身份驗證的情況下,應該由 Asp.net 管道自動創建。

它可以工作嗎?

您知道將 Oauth 2.0 用於 AD Windows 帳戶的更好主意嗎?

筆記:

我還在調查 Active Directory 是否能夠自行提供 Oauth 2.0 端點。

這是關於如何使用 Active Directory 聯合身份驗證服務獲取 OAuth2 令牌的一個很好的演練。 <https://technet.microsoft.com/en-us/library/dn633593.aspx>。您必須點擊底部的所有連結才能獲得整個演練。

請注意,它指的是使用適用於 .NET 的 Windows Azure AD 身份驗證庫。但根據該文件,該庫用於 Azure Active Directory 和本地 Active Directory。

至於工作流程,一旦通過身份驗證,您將能夠獲取承載令牌並將其提供給您的 WebAPI。然後,您的 WebAPI “驗證令牌的簽名以確保它是由 AD FS 頒發的,檢查令牌是否仍然有效且尚未過期,並且可能還驗證令牌中的其他聲明。此時,客戶端要麼是授權的並且他們請求的資訊會在響應中發送,要麼他們是未經授權的並且不會發送任何數據。” - <https://technet.microsoft.com/en-us/library/dn633593.aspx>

引用自:https://stackoverflow.com/questions/29586996