在Web API中哪个选项更好,MSAL.js或OpenIdConnect nuget包

时间:2017-06-13 07:19:22

标签: azure-active-directory msal

我们在Internet上托管了一个具有匿名访问权限的SharePoint发布网站。根据最新要求,我们需要为门户网站中的某些页面实现用户登录(AzureAD,Microsoft个人和工作帐户等)。

我们提出了两种方法:

  1. 使用msal.js文件。在客户端本身实现用户登录,并使用用户令牌调用Partner Center Web API以检查用户的有效性以及执行所需的操作。
  2. 使用Web API端的Microsoft.Owin.Security.OpenIdConnect nuget包创建Web API以实现登录,并使用它来执行从后端检索和修改数据所需的操作。
  3. 哪种方法在我们的方案中最有效? 还有其他方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:1)

这两种方法的区别在于它们使用不同的流程来与身份数据提供者集成。

使用服务器端代码的第二种方法是使用授权代码授权流程,这是与身份数据提供者进行交互的标准流程。

使用msal.js的第一种方法是使用隐式流。是一种简化的授权代码流,针对使用脚本语言(如JavaScript)在浏览器中实现的客户端进行了优化。在隐式流程中,不是向客户端发出授权代码,而是直接向客户端发出访问令牌。

更详细的使用OAuth 2.0的流程在OAuth 2.0 Authorization Framework

中定义