Teams / SharePoint · Community sample

SPFx Personal Settings Solution

A full-stack solution for secure, user-specific settings in SharePoint using SPFx, Azure Functions, and Microsoft Graph approot.

Teams tabWeb partReactSPFx 1.21.1
Web Part Preview

The idea behind the sample

This sample demonstrates how to build a secure, enterprise-ready solution for managing personal user settings in SharePoint. It uses a SPFx React web part for the UI, an Azure Function API for business logic and security, and Microsoft Graph's approot special folder for per-user storage. The solution implements the On-Behalf-Of (OBO) flow, JWT validation, and CORS, and is ready for real-world deployment.

Make it your own

Start with the author's setup instructions, explore the implementation, and adapt the pattern to your environment. Sample code stays in its original repository, together with its requirements, license and contribution history.

Read the source documentation

Keep exploring

  • Build your first SharePoint client-side web part — Client-side web parts are client-side components that run in the context of a SharePoint page. Client-side web parts can be deployed to SharePoint environments that support the SharePoint Framework. You can also use modern JavaScript web frameworks, tools, and libraries to build them.
  • Changes on SharePoint Framework (SPFx) permission grants in Microsoft Entra ID — Article explaining a set of changes to the way API permissions are managed in SharePoint Online by Tenant Administrators in SharePoint Framework (SPFx) starting from March 2025.
  • Microsoft Graph Special Folders — Learn how to use Microsoft Graph special folders, such as the 'approot' folder, to store and manage user-specific files and settings in OneDrive for Business in a secure and isolated way.
  • On-Behalf-Of Flow — Understand how to implement the OAuth 2.0 On-Behalf-Of (OBO) authentication flow to securely call downstream APIs like Microsoft Graph from your own APIs, while preserving the user's identity and permissions.
Transparent by designThe gallery preserves source attribution and known metadata issues instead of silently rewriting them.
View 1 source metadata note
  • thumbnails[0].alt: Replace generic alt text with a description of the sample.
View the collected metadata

Keep the ideas flowing

Back to all possibilities
Microsoft 365 and Power Platform Community Contributor badge

Sharing is caring.

Share what you know.

Contribute a sample, improve the docs or help someone get started. Sample contributors can opt in to the PnP Recognition Program and share their community contributor badge.

Have something to show? Sign up for a community call demo. Fill in the form and we'll arrange a slot based on your availability.