Agent Foskett Academy • Microsoft Entra • Module 2 • Lesson 14

Lesson 14 — App Registrations in Microsoft Entra

Every application that authenticates with Microsoft Entra begins with an app registration.

An app registration creates the application object that defines the application's identity, supported account types, redirect URIs, authentication methods, API permissions, exposed scopes, token claims and credentials.

This lesson explains how app registrations work, how they relate to enterprise applications and service principals, and how Agent Foskett investigates stale credentials, excessive Microsoft Graph permissions and forgotten application identities that have become hidden security risks.

An app registration should have a documented purpose, accountable owners, tightly scoped permissions and credentials that are protected and regularly rotated.
Agent Foskett Microsoft Entra App Registrations lesson
What you will learn

This lesson explains how app registrations define application identity, authentication, permissions and token behaviour inside Microsoft Entra.

Application objects and service principals
Redirect URIs and authentication platforms
Credentials and API permissions
App registration investigation

Learning objectives

After completing this lesson, you should be able to explain, configure and investigate Microsoft Entra app registrations.

  • Describe the purpose of an app registration and application object.
  • Explain the relationship between application objects and service principals.
  • Configure supported account types, authentication platforms and redirect URIs.
  • Compare client secrets, certificates, federated credentials and managed identities.
  • Evaluate delegated and application permissions using least privilege.
  • Investigate suspicious, excessive or abandoned application registrations.

The problem this solves

Applications need a trusted identity before they can authenticate users, request tokens or call protected APIs.

An app registration defines that identity and tells Microsoft Entra exactly how the application is allowed to authenticate and what resources it may request.

What is an app registration?

An app registration creates an application object in Microsoft Entra. The application object acts as the global definition or blueprint for the application.

Developer creates an app registration ↓ Microsoft Entra creates an application object ↓ Account types and authentication platforms are configured ↓ Redirect URIs, credentials and API permissions are added ↓ A service principal represents the application in a tenant ↓ Users or workloads authenticate and receive tokens

The application object

The application object stores the application's client ID, sign-in audience, redirect URIs, credentials, permissions, exposed scopes, app roles and token settings.

It is the configuration blueprint used when the application is represented in one or more tenants.

The service principal

The service principal is the tenant-local security identity created from the application object.

Administrators manage assignment, consent, Conditional Access and sign-in activity through the corresponding enterprise application.

Application object and service principal compared

ObjectPurposeTypical question
Application objectDefines how the application is built, authenticated and permitted to request access.How is this application configured?
Service principalRepresents the application as a security identity inside a particular tenant.What can this application access in this tenant?
Enterprise applicationProvides the administrative view of the service principal.Who can use it and which controls apply?

Supported account types

The sign-in audience determines which users can authenticate to the application.

  • Accounts in this organisational directory only.
  • Accounts in any organisational directory.
  • Organisational accounts and personal Microsoft accounts.
  • Personal Microsoft accounts only.

Single-tenant and multi-tenant applications

A single-tenant application is intended for one Microsoft Entra tenant. A multi-tenant application can be consented to by other organisations.

Multi-tenant design increases the importance of publisher verification, consent governance and secure application ownership.

Authentication platforms

PlatformTypical useSecurity focus
WebServer-side web applications.Confidential client credentials, exact redirect URIs and secure session handling.
Single-page applicationBrowser-based JavaScript applications.Authorization code flow with PKCE and restricted redirect origins.
Mobile and desktopPublic client applications installed on user devices.Public client flows, broker support and device-aware authentication.
Daemon or serviceBackground automation without a signed-in user.Application permissions and strong workload credentials.
Web APIProtected APIs that accept access tokens.Scopes, app roles, audiences and token validation.

Redirect URIs

A redirect URI is the location to which Microsoft Entra returns the authentication response after sign-in.

The URI must match the registered value exactly. Unnecessary, wildcard-like or abandoned redirect URIs can create token interception and account takeover opportunities.

Redirect URI review

Review every redirect URI for ownership, HTTPS use, environment, hostname and current business need.

Remove localhost, test, staging and retired domains from production registrations unless they are deliberately required.

Application authentication options

MethodHow it worksSecurity position
Client secretA shared secret proves the application's identity.Easy to use, but vulnerable to disclosure and poor rotation.
CertificateThe application signs an assertion using a private key.Stronger than a shared secret when keys are protected and rotated.
Federated identity credentialMicrosoft Entra trusts an external workload identity without a stored secret.Strong option for supported CI/CD and cloud workloads.
Managed identityAzure manages the workload identity and credential lifecycle.Preferred for supported Azure resources.

Client secrets

Client secrets are commonly used because they are simple, but they behave like passwords for applications.

Secrets should have short lifetimes, be stored in a secure vault, never appear in source code and be rotated before expiry.

Certificates and federated credentials

Certificates reduce reliance on shared strings, while federated credentials can remove stored credentials entirely.

Both still require documented ownership, monitoring and a controlled lifecycle.

API permissions

API permissions define which protected resources the application may request access to, including Microsoft Graph and custom APIs.

Permission typeIdentity contextExample risk
Delegated permissionThe application acts on behalf of a signed-in user.A malicious app may read data available to the user who granted consent.
Application permissionThe application acts as itself without a signed-in user.A compromised credential may allow unattended, tenant-wide access.

Delegated permissions

Delegated permissions are constrained by both the granted scope and the signed-in user's own access.

Examples include reading the user's profile, calendar, files or mail when that access is genuinely required.

Application permissions

Application permissions are designed for background services and automation.

Permissions such as Mail.Read, Files.Read.All and Directory.Read.All can provide broad access and should receive heightened review.

The authentication and token flow

Application starts an authentication request ↓ Microsoft Entra validates the client and redirect URI ↓ User authentication or workload credential is evaluated ↓ Consent, permissions and Conditional Access are assessed ↓ Microsoft Entra issues an ID token or access token ↓ The application validates and uses the token ↓ The protected resource authorises the request

Token configuration

Token configuration controls optional claims and the information included in ID and access tokens.

Only include claims required by the application. Excessive claims can expose unnecessary identity or directory information.

Token types

ID tokens describe the authenticated user, access tokens authorise calls to protected resources, and refresh tokens allow new tokens to be obtained without repeating the full sign-in process.

Expose an API

An application can expose OAuth scopes for delegated access and app roles for application access.

Scopes and roles should use clear names, descriptions and approval boundaries so consuming applications request only what they need.

App roles

App roles support application-specific authorisation and can be assigned to users, groups or service principals.

Role values should remain stable and should map to meaningful business privileges.

Branding and properties

Publisher information, logo, home page, privacy statement and terms of service help users identify the application during consent and sign-in.

Branding improves trust signals, but it does not replace permission review or publisher verification.

The application manifest

The manifest exposes the underlying application-object properties in JSON form.

It is powerful and useful for advanced configuration, but changes should be documented and validated because incorrect values can break authentication or weaken security.

App registration investigation process

1. Identify the application ID and application object ↓ 2. Confirm business purpose, publisher and owners ↓ 3. Review supported account types and redirect URIs ↓ 4. Inventory secrets, certificates and federated credentials ↓ 5. Review delegated and application permissions ↓ 6. Confirm consent grants and admin approval history ↓ 7. Inspect the related enterprise application and service principal ↓ 8. Review user and service-principal sign-ins ↓ 9. Remove stale credentials and excessive permissions ↓ 10. Preserve evidence and document remediation

Real-world scenario: the client secret never expired

1. A developer creates an app registration for a short project ↓ 2. A long-lived client secret is added and copied into automation ↓ 3. The project finishes, but the app registration remains enabled ↓ 4. The secret is later exposed in an old deployment file ↓ 5. An unfamiliar host authenticates as the service principal ↓ 6. Microsoft Graph data is accessed using application permissions ↓ 7. Agent Foskett correlates the credential, permissions and sign-ins ↓ 8. The secret is revoked and the service principal is disabled ↓ 9. Access is reviewed and credential-governance controls are introduced

Evidence to review

  • Application and object identifiers.
  • Creation and modification dates.
  • Owners and publisher information.
  • Redirect URI inventory.
  • Credential names, types and expiry dates.
  • Required resource access and consent grants.
  • Related enterprise application and service-principal sign-ins.

Immediate containment

  • Disable the service principal where appropriate.
  • Revoke compromised secrets or certificates.
  • Remove unnecessary permission grants.
  • Restrict or delete unsafe redirect URIs.
  • Review downstream data access.
  • Preserve sign-in, audit and consent evidence.

Common mistakes

MistakeWhy it creates riskBetter practice
No application ownerNobody is accountable for permissions, credentials or retirement.Assign technical and business owners.
Long-lived client secretsStolen credentials remain useful for an extended period.Prefer managed identities, federated credentials or short-lived certificates.
Excessive Microsoft Graph permissionsThe application can access more organisational data than required.Use least privilege and document every approved permission.
Unused redirect URIsOld endpoints may be taken over or used to intercept responses.Keep only active, controlled HTTPS redirect URIs.
Test and production settings mixed togetherDevelopment endpoints and credentials expand the production attack surface.Separate registrations by environment where appropriate.
Forgotten app registrationsStale credentials and consent grants create hidden access paths.Review activity and retire unused registrations regularly.

Key takeaways

  • App registrations create application objects that define application identity and authentication configuration.
  • Service principals represent those applications inside individual tenants.
  • Redirect URIs must be exact, controlled and regularly reviewed.
  • Client secrets should be short-lived and securely stored.
  • Certificates, federated credentials and managed identities reduce shared-secret risk.
  • Delegated permissions act with a user, while application permissions allow unattended access.
  • API permissions should follow least privilege and require documented approval.
  • Old app registrations, stale credentials and excessive consent grants should be investigated and removed.

Continue learning

Continue through Microsoft Entra application security, or return to the academy roadmap.

Microsoft Entra App Registrations, Application Objects and Credentials

Microsoft Entra app registrations create application objects and define supported account types, redirect URIs, credentials, API permissions, exposed scopes, app roles and token configuration.

Microsoft Entra Academy Lesson 14 — App Registrations in Microsoft Entra

This Agent Foskett lesson explains app registrations, application objects, service principals, redirect URI security, client secrets, certificates, managed identities, Microsoft Graph permissions and application investigations.