2

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

我们提出了两种方法:

  1. 使用 msal.js 文件。在客户端自己实现用户登录,并使用用户令牌调用合作伙伴中心 Web API 以检查用户的有效性并执行所需的操作。
  2. 在 Web API 端使用 Microsoft.Owin.Security.OpenIdConnect nuget 包创建一个 Web API 来实现登录,并使用它来执行从后端检索和修改数据的必要操作。

哪种方法在我们的场景中效果最好?有没有其他方法可以实现这一目标?

4

1 回答 1

2

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

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

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

更详细的使用 OAuth 2.0 的流程在OAuth 2.0 授权框架中定义。

于 2017-06-13T09:29:49.907 回答