entra-app-registration

Guides Microsoft Entra ID app registration, OAuth 2.0 flows, and MSAL integration.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/merceralex397-collab/alex-stack --skill entra-app-registration-merceralex397-collab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: entra-app-registration
Source: https://github.com/merceralex397-collab/alex-stack/tree/main/dev/azure-profile/azure-skills-main/azure-skills-main/.github/plugins/azure-skills/skills/entra-app-registration
Command: npx skills add https://github.com/merceralex397-collab/alex-stack --skill entra-app-registration-merceralex397-collab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up Microsoft Entra ID (formerly Azure AD) app registrations involves many error-prone steps: choosing the right application type, configuring redirect URIs, adding API permissions, granting admin consent, and wiring OAuth flows into code. This Skill walks you through the entire process with portal, Azure CLI, and Bicep options, plus working MSAL code examples. ## Core Features & Use Cases - Step-by-Step App Registration: Create app registrations via Azure Portal, Azure CLI, or Bicep IaC, with guidance on account types, redirect URIs, and platform configuration. - OAuth 2.0 & MSAL Implementation: Detailed coverage of authorization code flow (with PKCE), client credentials, device code, and refresh token flows, plus complete console app examples in C#, Python, and Node.js. - Permissions & Troubleshooting: Reference tables for Microsoft Graph permission IDs, admin consent procedures, and solutions for common errors like redirect URI mismatches and invalid client secrets. - Use Case: You need a background service that reads all users via Microsoft Graph. This Skill shows you how to register the app, add the User.Read.All application permission, grant admin consent, create a client secret, and implement the client credentials flow. ## Quick Start Ask the assistant to create a new Microsoft Entra app registration for a console app with User.Read permission and show the MSAL code to authenticate.

Frequently Asked Questions about entra-app-registration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an app registration in Microsoft Entra ID?▼

Create an app registration via the Azure Portal under Microsoft Entra ID > App registrations > New registration, or run az ad app create with a display name and redirect URIs. You can also manage registrations with Bicep for infrastructure-as-code scenarios.

How to add Microsoft Graph API permissions to an app registration?▼

Add permissions in the portal under API permissions, or use az ad app permission add with the Microsoft Graph resource ID and the permission ID. Use Scope for delegated permissions and Role for application permissions, then grant admin consent where required.

What is the difference between delegated and application permissions?▼

Delegated permissions let the app act on behalf of a signed-in user, while application permissions let the app act with its own identity for background services. Application permissions always require admin consent.

Should I use DefaultAzureCredential in production?▼

No, DefaultAzureCredential is recommended for local development only because its fallback chain adds latency and unpredictability. In production, use ManagedIdentityCredential for Azure-hosted apps or ClientCertificateCredential for on-premises workloads.

Why do I get the AADSTS50011 redirect URI mismatch error?▼

This error occurs when the redirect URI in your authentication request does not exactly match a registered URI, including case and trailing slashes. Verify the URI is registered under the correct platform type (Web, SPA, or Public client) in the Authentication section.

When should I use a certificate instead of a client secret?▼

Use certificates instead of client secrets for production confidential clients because they provide stronger security. Client secrets are acceptable for development, but store them in Azure Key Vault and rotate them regularly.