[英]Get AAD Roles from React SPFx Webpart
我有一個簡單的 React SPFX Webpart。 我們已將其部署到我們的 SP Online 站點。 它當前顯示當前用戶的 SP 組。
const queryUrl = `${this.context.pageContext.site.absoluteUrl}/_api/web/currentuser/groups`;
const siteGroupsData = await this.context.spHttpClient.get(
queryUrl,
SPHttpClient.configurations.v1
);
const siteGroups: any[] = (await siteGroupsData.json()).value;
const justNames = siteGroups.map((m) => m.Title);
const groups = justNames.join(",");
我還需要顯示 AAD 組\角色嗎?
我需要使用 Microsoft Graph 嗎? MSAL? 如何? 有太多陳舊且令人困惑的信息。
我試過使用以下
import { Providers, SharePointProvider } from "@microsoft/mgt";
Providers.globalProvider = new SharePointProvider(this.context);
以上在控制台中產生以下錯誤:InteractionRequiredAuthError:AADSTS65001:用戶或管理員未同意使用 ID 為“SharePoint Online Client Extensibility Web Application Principal”的應用程序。 為此用戶和資源發送交互式授權請求。 跟蹤 ID:相關 ID:時間戳:2022-11-15 15:07:21
這只是 Workbench 的問題嗎?
我在 web 上看到了針對完整 REACT SPA 的示例,但這是一個 Web 部件,並且用戶已經登錄。我覺得我不必請求令牌。 也許它只是一個需要的 SP 在線配置設置。
謝謝!
此錯誤AADSTS65001: The user or administrator has not consented to use the application with ID '' named 'SharePoint Online Client Extensibility Web Application Principal'. Send an interactive authorization request for this user and resource.
AADSTS65001: The user or administrator has not consented to use the application with ID '' named 'SharePoint Online Client Extensibility Web Application Principal'. Send an interactive authorization request for this user and resource.
主要發生在管理員未同意訪問應用程序時。
在 SPFx 中,管理員可以在身份驗證過程中批准或拒絕請求。
在這種情況下,訪問被錯誤拒絕
請與管理員核實,或者是否啟用了用戶同意。
確保他們獲得同意。
並在企業應用程序> usersettings.or( 此處)中檢查該應用程序是否允許用戶同意
根據應用設置為不允許。
所有這些權限通常存儲在SharePoint Online Client Extensibility Azure AD application
中,通過 web API 請求授予。所以主要是缺乏管理員或用戶的同意導致此問題。
管理員可能已使用Disable-SPOTenantServicePrincipal
禁用了權限,或使用Deny-SPOTenantServicePrincipalPermissionRequest -RequestId <Guid>
拒絕了該權限。請參閱全局和 SharePoint 管理員可以使用powershell 命令管理請求。
如果管理員同意所需的權限,查詢將成功
請注意,來賓用戶無權查詢超過 1 個用戶的多個用戶,例如:
/groups/{id}/members
Microsoft Graph 權限參考 - Microsoft Graph | 微軟學習
對於 spfx web 部分,在使用 Microsoft graph api 時存在一個已知問題,我們無法獲得角色聲明,因為它使用不授予角色的委派權限的隱式授予。
請參閱下面沒有 wids 聲明的解碼令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.