在 SharePoint 中批准 API 访问有什么意义

问题描述 投票:0回答:1

在 SharePoint Online、SharePoint 管理中心的 API 访问下,有一个部分用于批准对外部资源的访问,可以在 SPFx 项目的配置中指定该访问权限。 此外,当我们在 Azure 中创建应用程序注册时,我们可以公开 API,并指定身份验证时颁发的令牌的范围。我们还可以在相应的企业应用程序中指定访问权限。

我的问题是,如果访问 SharePoint 管理中心以及创建和配置应用程序注册的能力都仅限于管理员用户,那么在 SharePoint 管理中心授予访问权限是不是显得多余?

我正在尝试理解这背后的原因,并确认我目前的理解是否正确。

azure sharepoint spfx
1个回答
0
投票

SharePoint API 访问页面本质上是应用程序注册的简化抽象,它支持所有 SPFx(我所知道的大多数)请求流程。

首先,每当您添加以下片段时

package-solution.json

...
"webApiPermissionRequests": [
  {
    "resource": "CustomWeatherApiProxy",
    "scope": "Forecast.Read"
  }
],
...

您实质上是增强了委派权限

SharePoint Online Client Extensibility Web Application Principal
应用程序注册,如下图所示:

从 API 访问屏幕来看,它看起来像这样:

因此,上述策略的优点是,现在我已经使用 Azure Active Directory 保护我的 Web API,通过创建一个描述我的 Web API 的应用程序注册并公开一组声明,例如

Forecast.Read
,它是我可以更轻松地在 SPFx 解决方案中生成代码,只需利用
aadHttpClientFactory
AadHttpClient
,即可在我的请求之前处理所有身份验证/授权程序,如下所示:

上面的代码创建一个客户端,它将获取与您的自定义资源/Web API 通信所需的令牌,然后使用该客户端获取一些数据以显示在 Web 部件页面上。

因此,一般来说,第三方解决方案使用 API 访问机制,以便在安装在

MS Graph
上时为其应用程序请求适当的访问权限(例如访问
App Catalog
)。通过这种方式,我们可以确保安装的 SPFx 应用程序(可能充当客户端)对所需资源具有受监督的访问权限,并且能够正常运行。

管理员还可以绘制有关哪些应用程序需要访问何处等的报告数据,最后但并非最不重要的一点是,这是一种在 SharePoint 框架解决方案中形式化权限请求的方法,使管理员的工作变得轻松执行。

总之,这只是使自定义 SPFx 项目能够访问 SharePoint 区域之外的资源的另一种方式。

© www.soinside.com 2019 - 2024. All rights reserved.