Microsoft Entra External ID app samples and guides
In brief
The page title and description now use Microsoft Entra External ID terminology. Passkey sample links were updated from listing and registration to sign-in and management, and the sample table was revised.
What Entra admins need to know
Administrators using the passkey sample should heed the existing warning to run it only in a test tenant because its deletion flow uses high-privilege permissions and a client secret in browser code.
This editorial summary was generated by AI from the documentation changes. Verify important details in the full Microsoft Learn article.
Documentation change
The comparison below shows only the changed extract. Use the full-page view for complete context.
SamplesMicrosoft Entra External ID app samples and guides for integrating apps with External ID
Microsoft maintains code samples that demonstrate how to integrate various application types with Microsoft Entra External ID. We provide instructions for downloading and using samples or building your own app based on common authentication and authorization scenarios, development languages, and platforms. Included are instructions for building the project (if applicable) and running the sample application. Within the sample code, comments help you understand how these libraries are used in the application to perform authentication and authorization in an external tenant.
Samples and guides
Use the tabs to sort samples either by app type or your preferred language or platform.
By app type
By app type
Single-page application (SPA)
[!div class="mx-tdCol2BreakAll"]
Language/
PlatformCode sample guide Build and integrate guide JavaScript • Sign in users
• Sign in users and manage passkeys (GitHub sample)• Sign in users
• Sign in with passkeysAngular • Sign in users • Sign in users React • Sign in users
• Sign in users and manage passkeys (GitHub sample)• Sign in users
• Sign in with passkeys
Web app
[!div class="mx-tdCol2BreakAll"]
Language/
PlatformCode sample guide Build and integrate guide macOS (Swift) • Sign in users • Sign in users
Mobile: Native authentication
[!div class="mx-tdCol2BreakAll"]
App type Code sample guide Build and integrate guide Single-page application • Sign in users
• List and register passkeys (GitHub sample)• Sign in users
• Sign in with passkeys
JavaScript, Angular
[!div class="mx-tdCol2BreakAll"]
App type Code sample guide Build and integrate guide Single-page application • Sign in users
• Sign in users and manage passkeys (GitHub sample)• Sign in users
• Sign in with passkeys
JavaScript, Node
@@ -1,28 +1,27 @@ ----title: Samples and guides for integrating apps with External ID-description: Learn how to build and integrate apps with external tenants with scenarios such as sign-up, sign in, and getting an access token to call an API.+title: Microsoft Entra External ID app samples and guides+description: Learn how to build and integrate apps with Microsoft Entra External ID for scenarios such as sign-up, sign-in, and getting an access token to call an API. ms.topic: sample-ms.date: 10/05/2026+ms.date: 10/06/2026 ms.custom: it-pro, seo-july-2024, msecd-doc-authoring-1030 ai-usage: ai-assisted #customer intent: As an application developer, I want to find samples and guides for Microsoft Entra External ID so that I can integrate authentication into my apps.- --- -# Samples and guides for integrating apps with External ID+# Microsoft Entra External ID app samples and guides Microsoft maintains code samples that demonstrate how to integrate various application types with Microsoft Entra External ID. We provide instructions for downloading and using samples or building your own app based on common authentication and authorization scenarios, development languages, and platforms. Included are instructions for building the project (if applicable) and running the sample application. Within the sample code, comments help you understand how these libraries are used in the application to perform authentication and authorization in an external tenant. > [!TIP] > Microsoft Entra External ID supports two authentication approaches: **browser-delegated authentication**, which redirects users to a Microsoft-hosted sign-in page, and **native authentication**, which lets you build the sign-in UI directly in your app. The samples in this article include both. If you're not sure which approach to use, see [Choose an authentication approach](concept-choose-authentication-approach.md). +> [!IMPORTANT]+> The passkey credential management sample uses delegated permissions for listing and registration. Its deletion flow still uses Microsoft Graph with high-privilege application permissions and a client secret in browser code. Run this sample only in a test tenant, not in production.+ ## Samples and guides Use the tabs to sort samples either by app type or your preferred language or platform. -> [!IMPORTANT]-> The passkey credential management sample uses delegated permissions for listing and registration. Its deletion flow still uses Microsoft Graph with high-privilege application permissions and a client secret in browser code. Run this sample only in a test tenant, not in production.- # [**By app type**](#tab/apptype) ### Single-page application (SPA)@@ -32,9 +31,9 @@ These samples and how-to guides demonstrate how to integrate a single-page appli > [!div class="mx-tdCol2BreakAll"] > | Language/<br/>Platform | Code sample guide | Build and integrate guide | > | ------- | -------- | ------------- |-> | JavaScript | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=javascript-external)<br/> • [List and register passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-javascript-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) |+> | JavaScript | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=javascript-external)<br/> • [Sign in users and manage passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-javascript-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) | > | Angular | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=angular-external) | • [Sign in users](/entra/identity-platform/tutorial-single-page-apps-angular-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant) |-> | React | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=react-external)<br/> • [List and register passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-react-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) |+> | React | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=react-external)<br/> • [Sign in users and manage passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-react-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) | ### Web app @@ -87,7 +86,7 @@ These samples and how-to guides demonstrate how to write a desktop application t > [!div class="mx-tdCol2BreakAll"] > | Language/<br/>Platform | Code sample guide | Build and integrate guide | > | ------- | -------- | ------------- | -> macOS (Swift) | • [Sign in users](/entra/identity-platform/quickstart-native-authentication-macos-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json)| • [Sign in users](/entra/identity-platform/tutorial-native-authentication-prepare-ios-macos-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json)|+> | macOS (Swift) | • [Sign in users](/entra/identity-platform/quickstart-native-authentication-macos-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json)| • [Sign in users](/entra/identity-platform/tutorial-native-authentication-prepare-ios-macos-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json)| ### Mobile: Native authentication @@ -172,7 +171,7 @@ These samples and how-to guides demonstrate how to write a daemon application th > [!div class="mx-tdCol2BreakAll"] > | App type | Code sample guide | Build and integrate guide | > | ------- | -------- | ------------- |-> | Single-page application | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=javascript-external)<br/> • [List and register passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-javascript-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) |+> | Single-page application | • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=javascript-external) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-javascript-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant) | ### JavaScript, Angular @@ -186,7 +185,7 @@ These samples and how-to guides demonstrate how to write a daemon application th > [!div class="mx-tdCol2BreakAll"] > | App type | Code sample guide | Build and integrate guide | > | ------- | -------- | ------------- |-> | Single-page application| • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=react-external)<br/> • [List and register passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-react-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) |+> | Single-page application| • [Sign in users](/entra/identity-platform/quickstart-single-page-app-sign-in?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&pivots=external&tabs=react-external)<br/> • [Sign in users and manage passkeys (GitHub sample)](https://github.com/Azure-Samples/ms-identity-ciam-native-javascript-samples/tree/main/passkey-sample) | • [Sign in users](/entra/identity-platform/tutorial-single-page-app-react-prepare-app?toc=/entra/external-id/toc.json&bc=/entra/external-id/breadcrumb/toc.json&tabs=external-tenant)<br/> • [Sign in with passkeys](how-to-sign-in-with-passkey.md) | ### JavaScript, Node 