首页 > 解决方案 > SharePoint Online:尝试使用 SharePoint 应用程序中的 AadHttpClient 连接到受 Azure AD 保护的 .Net Core API 时出现问题

问题描述

SPFx | SharePoint Online


您好,我有一个自定义的 .Net 核心 API 上传到 Azure。我需要将安全的 Azure AD API 与 SharePoint 客户端 Web 部件连接(使用 SharePoint 框架 v 1.7)。要连接到 Azure AD,我使用 AadHttpClient。

打开 API 管理页面时收到以下错误: [HTTP]:500 - [CorrelationId] {} [Version]:16.0.0.8713 - Unknown Error 我在开发工具中看到错误来自:请求 URL:/_api/ SPOInternalUseOnly.SPOWebAppServicePrincipal/PermissionGrants

我是全局管理员。

当我尝试批准权限请求时,它显示错误: [HTTP]:400 - [CorrelationId] {}: [Version]:16.0.0.8713 - 权限请求 {projectName}-client-side-solution 的服务主体无法被发现。

我尝试通过 Azure powershell Approve-SPOTenantServicePrincipalPermissionRequest批准它,但我收到完全相同的错误。

package-solution.json 包含:

"webApiPermissionRequests": [
  {
    "resource": "{displayName of the registered app}",
    "scope": "user_impersonation"
  } 
]

在 Azure 应用服务设置 -> 身份验证/授权 -> Active Directory 身份验证 -> 应用服务身份验证开启 -> 快速 -> 使用现有应用。

当我执行此操作时,我看到我的服务在那里注册: az ad sp list --query "sort_by([*].{displayName: displayName, objectId: objectId}, &displayName)" -o table

我也尝试执行 Enable-SPOTenantServicePrincipal 但再次收到错误:未知错误

你有什么想法?

标签: restazure-active-directorysharepoint-online

解决方案


推荐阅读