Part 5: API Permissions and Consent
The Admin Consent That Saved Hours
Delegated vs Application Permissions
Delegated Permissions
// User Bob signs into your app
// App requests: User.Read (delegated)
// Result: App can read Bob's profile
// But ONLY Bob's profile, not Alice's
{
"scp": "User.Read", // Scope (delegated permission)
"sub": "bob-user-id", // Bob's ID
"aud": "your-app-id"
}Application Permissions
Comparison Table
Microsoft Graph Permissions
User Permissions
Mail Permissions
Calendar Permissions
Files Permissions
Teams Permissions
API Permission Configuration
Scenario: POS System with Multiple Services
Frontend SPA Configuration
Backend API Configuration
Consent Framework
User Consent
Admin Consent
Incremental Consent
Custom API Permissions
Payment API Example
Pre-Authorization
App Roles (Role-Based Access Control)
Defining App Roles
Assigning Roles to Users
Using Roles in Code
Least Privilege Principle
Bad Example
Good Example
Common Pitfalls
Pitfall 1: Confusing Delegated and Application
Pitfall 2: Not Granting Admin Consent
Pitfall 3: Over-Privileging
Key Takeaways
What's Next
Last updated