Azure active directory MSAL.js或Web API上的OpenIdConnect nuget包哪个选项更好

Azure active directory MSAL.js或Web API上的OpenIdConnect nuget包哪个选项更好,azure-active-directory,msal,Azure Active Directory,Msal,我们有一个匿名访问的SharePoint发布网站,托管在internet上。根据最新的要求,我们需要为门户中的某些页面实现用户登录(AzureAD、Microsoft个人和工作帐户等) 我们提出了两种方法: 使用msal.js文件。在客户端本身实现用户登录,使用用户令牌调用Partner Center Web API检查用户的有效性,并执行所需操作 在Web API端使用Microsoft.Owin.Security.OpenIdConnect nuget包创建Web API,以实现登录,并使用

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

我们提出了两种方法:

  • 使用msal.js文件。在客户端本身实现用户登录,使用用户令牌调用Partner Center Web API检查用户的有效性,并执行所需操作
  • 在Web API端使用Microsoft.Owin.Security.OpenIdConnect nuget包创建Web API,以实现登录,并使用它执行从后端检索和修改数据的所需操作
  • 在我们的场景中,哪种方法可能最有效?
    有没有其他方法可以实现这一点?

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

    使用服务器端代码的第二种方法是使用授权代码授权流,这是一种与身份数据提供者交互的备用流

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

    更详细的使用OAuth 2.0的流定义在。

    中,这是一个使用MSAL.js的很好的示例。