簡體   English   中英

MSAL 與 Microsoft.Owin.Security.OpenIdConnect 是什么關系?

[英]What is the relationship of MSAL to Microsoft.Owin.Security.OpenIdConnect?

我有興趣為使用 Azure Active Directory 和 ASP.NET Framework 4.x 的組織實施 SSO。

研究微軟的文檔后,我穿過的建議來使用MSAL(微軟認證庫),並在GitHub上一個代碼示例在這里 本文引用了代碼示例。

根據 NuGet,是 MSAL 庫。 但是上面的代碼示例沒有引用該庫。 這里的packages.config 文件中可以看出。

package.config 文件和文章引用了其他庫:

Microsoft.Owin.Security.OpenIdConnect
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Host.SystemWeb

那么這些包和MSAL有什么關系呢?

您提到的包由 ASP.NET MVC 應用程序用於通過 OpenID Connect + Cookies 組合對用戶進行身份驗證。 它們用於對應用程序中的用戶進行身份驗證。 在后端 Web 應用程序的上下文中,MSAL 處理令牌獲取,而不是用戶身份驗證。 因此,如果您的應用程序需要調用例如 MS Graph API,則在 OpenID Connect 包完成對用戶的身份驗證並收到授權代碼后,您可以使用 MSAL 獲取訪問令牌。 MSAL 可以請求令牌,並為您處理令牌緩存和令牌刷新。

Microsoft 身份驗證庫

MSAL 是一個庫,可用於從Microsoft 身份平台端點獲取和管理令牌,以便對用戶進行身份驗證並訪問一些受保護的 API(例如 Graph API)。

Microsoft.Owin.Security.* (ASP.NET MVC)

這些是您可以在 ASP.NET MVC 應用程序中使用的包。 Microsoft.Owin.Security.OpenIdConnect是一個包,其中包含接受和驗證傳入訪問令牌的 OWIN 中間件。

所以:

  • 如果要使用 AzureAD 將用戶登錄到 ASP.NET MVC 應用程序,請使用Microsoft.Owin.Securit.OpenIdConnect 您可以查看以下教程
  • 如果您想代表某個用戶獲取和管理令牌,請使用MSAL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM