Este contenido no está disponible en su idioma.

Overview

Several Vitextra web parts read data that lives outside the SharePoint site: user profiles and the manager hierarchy in Microsoft Entra ID, presence in Microsoft Teams, calendars, tasks in Planner and To Do, files in OneDrive. SharePoint Framework (SPFx) solutions reach this data through Microsoft Graph, and a tenant administrator has to allow it once.

The mechanism is the same for every SPFx solution: the solution package declares the permissions it needs, SharePoint turns the declaration into permission requests when the package is deployed to the App Catalog, and the requests wait on the API access page of the SharePoint admin center until an administrator approves or rejects them.

This article explains which Vitextra products request permissions and why, how to approve the requests, how to review and revoke them later, and what you see in the web parts when a permission is missing. It is written for SharePoint and Global Administrators who install Vitextra products, and for security officers who review such requests.

📝 Note
The article covers the API access requests of SPFx solutions only. Installing the package itself is described in KB10035. How to Install a Vitextra Product in SharePoint Online.

What is requested and why

The permissions listed below are delegated: the web parts call Microsoft Graph on behalf of the signed-in user. Effective access depends on both the granted scopes and the user’s permissions. This does not imply that Graph results match exactly what Outlook or Teams displays. Microsoft Graph

The table lists the permissions declared by the current versions of the products that use Microsoft Graph.

ProductAPIPermissionsUsed for
Employee DirectoryMicrosoft GraphUser.Read.All, Directory.Read.All, People.Read, Presence.Read.All, Calendars.ReadReading user profiles, departments and managers; relevant people; Teams presence; the free/busy status for the availability indicator
Employee DetailsMicrosoft GraphUser.Read.All, User.ReadWrite, People.Read.All, Presence.Read.All, Files.Read.All, Sites.Read.All, Calendars.Read.SharedReading profiles; letting a user edit his or her own profile fields; relevant people; presence; documents and sites the person recently worked with (Microsoft Graph insights); the free/busy status of colleagues for working hours and availability
Organizational ChartMicrosoft GraphUser.Read.All, Directory.Read.All, Presence.Read.AllBuilding the reporting hierarchy from the Manager attribute; department and job title; Teams presence
Absence & CoverageMicrosoft GraphUser.Read.AllResolving employees, their managers and direct reports for requests, approvals and substitutions
My TasksMicrosoft GraphUser.Read, User.ReadBasic.All, Tasks.ReadWriteTasks from Planner, To Do and flagged e-mail; names of task authors
My TasksAzure DevOpsuser_impersonationThe Azure DevOps source and the Azure DevOps Query web part
Password VaultMicrosoft GraphFiles.ReadWrite.AppFolderStoring the encrypted vault in the application folder of the user's OneDrive

Products that work only with the current site - Announcements Carousel, List Filter Online, QR Code Generator, Questions & Answers, Quick Poll, RSS Reader, Smart Search and Smart Tiles - request no API permissions. Nothing appears for them on the API access page.

📝 Note
A permission name such as Tasks.ReadWrite or User.ReadWrite is the name of the Microsoft Graph scope, which may be broader than what the product does with it. My Tasks only reads tasks; Employee Details writes only the profile fields of the signed-in user. The product-specific articles explain each permission in detail: KB10235. Microsoft Graph Permissions Required by Organizational Chart, KB10303. My Tasks: Required Permissions, Privacy and Security.

Where the requests come from

A permission request is created when the .sppkg package is deployed to the tenant App Catalog. The requests belong to the package, not to the individual web parts, so a solution that contains two web parts shows one set of requests, and a permission that is needed only by an optional feature (the Azure DevOps source of My Tasks, for example) is requested together with the others.

Two points are important for governance:

  • Approval is tenant-wide. SharePoint grants the permission to a single Microsoft Entra ID application that it uses for all SPFx solutions - SharePoint Online Web Client Extensibility (earlier: SharePoint Online Client Extensibility Web Application Principal). Once User.Read.All has been approved for Employee Directory, the same grant is used by Organizational Chart and by any other SPFx solution in the tenant that requests it. This is how the SharePoint Framework works, not a Vitextra design decision.
  • Deployment does not depend on approval. A Vitextra product can be deployed, added to sites and placed on pages while its requests are still pending or even rejected. Only the features that depend on the missing permission fail.

Prerequisites

  • The Vitextra package is uploaded to the tenant App Catalog and deployed (Enable app).
  • To approve Microsoft Graph and other Microsoft API permissions, sign in as a Global Administrator. The Application Administrator role is sufficient for third-party APIs registered in the tenant. The SharePoint Administrator role alone does not authorize approval of Microsoft Graph permissions. Microsoft

❗ Important
The API access page shows the requests of packages deployed to the tenant App Catalog. If you prefer to deploy Vitextra products from a site collection app catalog, deploy the package to the tenant App Catalog first and approve the requests there; the approved permissions are tenant-wide and are then available to the copy in the site collection app catalog as well.

Approving the requests

1. Open the Microsoft 365 admin center and go to the SharePoint admin center.

2. In the left navigation, expand Advanced and select API access.

API access requests

API access requests

3. On the Pending requests tab, find the requests of the Vitextra package. Each row shows the package name (for example Vitextra Employee Directory), the API (Microsoft Graph or Azure DevOps) and the permission.

4. Select a request and click Approve. Read the description in the panel and confirm with Approve.

Approving an API access request

Approving an API access request

5. Repeat for every request of the package. A permission that has already been approved for another solution does not appear again: SharePoint reuses the existing grant.

6. Switch to the Approved requests tab and check that all permissions of the package are listed.

Approved requests

Approved requests

Users do not see a consent prompt: after the approval the web parts work for everybody in the tenant. The grant usually takes effect within a few minutes; if a web part still reports a missing permission, reload the page or sign out and in again to get a new token.

💡 Tip
You can approve the requests in one go with the SharePoint Online Management Shell: Get-SPOTenantServicePrincipalPermissionRequests lists the pending requests, and Approve-SPOTenantServicePrincipalPermissionRequest -RequestId <id> approves one of them. This is convenient when you roll out several Vitextra products at once.

Approving only part of the permissions

You may approve some requests and reject others. The web part keeps working, and only the dependent feature is affected:

  • Presence.Read.All rejected - Employee Directory, Employee Details and Organizational Chart show people without the Teams presence indicator.
  • Calendars.Read / Calendars.Read.Shared rejected - the availability and working-hours information is not shown.
  • Files.Read.All / Sites.Read.All rejected - Employee Details does not show recent files and sites.
  • user_impersonation (Azure DevOps) rejected - the Azure DevOps source of My Tasks and the Azure DevOps Query web part cannot sign in to Azure DevOps.

Rejecting the core permission of a product (User.Read.All for the people-centric products, Tasks.ReadWrite for My Tasks, Files.ReadWrite.AppFolder for Password Vault) leaves the web part without data.

What users see when a permission is missing

SymptomLikely cause
The web part shows an error about access being denied, insufficient privileges or a missing consentThe core permission is pending or rejected
Employees are listed, but the colored presence dot is missingPresence.Read.All is not approved
The organizational chart is empty or shows only the current userUser.Read.All or Directory.Read.All is not approved
My Tasks shows nothing for Planner, To Do and Outlook, while the SharePoint source worksTasks.ReadWrite is not approved
Everything worked, and after an update one feature stoppedThe new version requests an additional permission that is still pending

Open the API access page and compare the Pending requests and Approved requests tabs with the table at the beginning of this article.

Updates and new permissions

When you upload a new version of a package (see KB10050. How to Update a Vitextra SPFx Solution in SharePoint Online), the permissions that were approved earlier stay approved. If the new version declares a permission that the previous one did not, the new request appears on the Pending requests tab and has to be approved in the same way. Vitextra lists such changes in the release notes of the product.

Reviewing and revoking permissions

Because the grants are shared by all SPFx solutions, removing a Vitextra product does not revoke the permissions it requested. To revoke a permission:

  1. Open API access and switch to the Approved requests tab.
  2. Select the permission and click Remove access.
  3. Confirm.

Removing an approved permission

Removing an approved permission

❗ Important
Before you remove a permission, check whether another solution in the tenant depends on it - your own SPFx web parts, products of other vendors and Microsoft's own pre-authorized permissions appear on the same tab. Removing a permission that another solution uses breaks that solution immediately.

Rejecting a request removes it from the API access page; it does not remain under Pending requests. To request the permission again, the developer must submit a new request for the same resource and scope. Microsoft

Security notes for reviewers

  • Every call to Microsoft Graph is made from the browser of the signed-in user with a token issued for that user. Vitextra web parts have no application (app-only) permissions and no service account.
  • Microsoft Graph checks the granted delegated scopes and the user’s permissions. Address-book visibility and application-specific filters are separate concerns; do not assume that hiding someone in Outlook also hides them from Graph queries.
  • For product-specific data flows, license requests, telemetry and storage, see KB10363. Where Vitextra Products Store Your Data: Privacy, Data Residency and GDPR.

Preguntas y respuestas

Haz una pregunta sobre este artículo y recibe una respuesta oficial de nuestro equipo.

Aún no hay preguntas. Haz la primera.

Artículos destacados

Por qué Password Vault no se carga: errores y problemas de permisos

Solución de problemas de Password Vault en SharePoint Online y Teams: pantalla de error, permiso de Graph pendiente, usuarios sin OneDrive, bloqueos de red, errores de guardado, cambios ausentes, configuración inesperada del PIN y mensajes de licencia, con comprobaciones y soluciones.

4 10 min
RSS Reader: preguntas frecuentes

Respuestas sobre fuentes compatibles, límites, fuentes internas o protegidas, actualización, diseños, filtros, Teams, permisos, almacenamiento de datos, licencias y prueba de RSS Reader.

6 min
Licencias y cuenta de Vitextra: cómo comprar y activar una licencia

Guía sobre las licencias de Vitextra: prueba gratuita de 14 días, elección del producto y del período de suscripción, compra de una licencia, asignación a su inquilino de Microsoft 365 y comprobación del estado de la licencia. Una licencia cubre SharePoint Online y Microsoft Teams.

4 min

Compartir