如何解决MSAL与Microsoft.Owin.Security.OpenIdConnect有什么关系?
我对使用Azure Active Directory和ASP.NET Framework 4.x为组织实施SSO感兴趣。
研究了Microsoft文档之后,我遇到了使用MSAL(Microsoft身份验证库)的建议以及GitHub here上的代码示例。此article引用了代码示例。
根据NuGet this,是MSAL库。但是上面的代码示例未引用该库。如在packages.config文件here中所示。
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身份平台终结点获取和管理令牌,以便对用户进行身份验证并访问某些受保护的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
。您可以检查以下tutorial。 - 如果您要代表某些用户获取和管理令牌,请使用
MSAL
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。