Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MSAL与Microsoft.Owin.Security.OpenIdConnect的关系是什么?_C#_Asp.net_Azure_Azure Active Directory_Msal - Fatal编程技术网

C# MSAL与Microsoft.Owin.Security.OpenIdConnect的关系是什么?

C# MSAL与Microsoft.Owin.Security.OpenIdConnect的关系是什么?,c#,asp.net,azure,azure-active-directory,msal,C#,Asp.net,Azure,Azure Active Directory,Msal,我对使用Azure Active Directory和ASP.NET Framework 4.x的组织实施SSO感兴趣 在研究了Microsoft文档之后,我遇到了使用MSAL(Microsoft身份验证库)的建议,以及GitHub上的一个代码示例。代码示例被此引用 根据NuGet的说法,是MSAL库。但是上面的代码示例没有引用该库。如packages.config文件所示 packages.config文件和文章引用了其他库: Microsoft.Owin.Security.OpenIdCon

我对使用Azure Active Directory和ASP.NET Framework 4.x的组织实施SSO感兴趣

在研究了Microsoft文档之后,我遇到了使用MSAL(Microsoft身份验证库)的建议,以及GitHub上的一个代码示例。代码示例被此引用

根据NuGet的说法,是MSAL库。但是上面的代码示例没有引用该库。如packages.config文件所示

packages.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 identity platform endpoint获取和管理令牌,以验证用户身份并访问一些受保护的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