Skip to content

Commit 6aa04ff

Browse files
authored
pull base content,head:wwlpublishsync,into:79c993fc66b71b3f82a9ad2324362d640b80c7add645962ae176a6d234eb05f5-live
2 parents 8ff1fad + dab89c7 commit 6aa04ff

File tree

113 files changed

+2892
-941
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+2892
-941
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: Guided project where you complete an end-to-end project by following step-by-step instructions.
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/1-introduction.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.create-external-tenant
3+
title: Create an external tenant
4+
metadata:
5+
title: Create an external tenant
6+
description: Create an external tenant
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: |
13+
[!include[](includes/2-create-external-tenant.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.enable-public-client-native-authentication-flows
3+
title: Enable public client and native authentication flows
4+
metadata:
5+
title: Enable public client and native authentication flows
6+
description: Enable public client and native authentication flows.
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
durationInMinutes: 1
12+
content: |
13+
[!include[](includes/3-enable-public-client-native-authentication-flows.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.prepare-app-native-authentication
3+
title: Prepare your app for native authentication
4+
metadata:
5+
title: Prepare your app for native authentication
6+
description: Learn how to ready your app for native authentication
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
zone_pivot_groups: mobile-os-android-ios
12+
durationInMinutes: 8
13+
content: |
14+
[!include[](includes/4-prepare-app-native-authentication.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.add-mobile-app-native-authentication
3+
title: Add sign-up in a mobile app using native authentication
4+
metadata:
5+
title: Add sign-up in a mobile app using native authentication
6+
description: Understand how to add user sign-up in a mobile app using native authentication.
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
zone_pivot_groups: mobile-os-android-ios
12+
durationInMinutes: 17
13+
content: |
14+
[!include[](includes/5-add-mobile-app-native-authentication.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.add-credential-mobile-app-using-native-authentication
3+
title: Add sign-in and sign out in a mobile app by using native authentication
4+
metadata:
5+
title: Add sign-in and sign out in a mobile app by using native authentication
6+
description: Learn how to configure sign-in and sign out in a mobile app by using native authentication.
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
zone_pivot_groups: mobile-os-android-ios
12+
durationInMinutes: 16
13+
content: |
14+
[!include[](includes/6-add-credential-mobile-app-using-native-authentication.md)]
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
title: Knowledge check
6+
description: Display your knowledge
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: Choose the best response for each question.
13+
quiz:
14+
questions:
15+
- content: "What is the primary purpose of Microsoft Entra's native authentication in mobile and desktop applications?"
16+
choices:
17+
- content: "To provide a secure, seamless sign-in experience for users."
18+
isCorrect: true
19+
explanation: "The primary purpose of Microsoft Entra's native authentication is to provide a secure, seamless sign-in experience for users by allowing full control over the design and user experience of authentication within mobile and desktop applications."
20+
- content: "To redirect users to a system browser for authentication."
21+
isCorrect: false
22+
explanation: "Redirecting users to a system browser for authentication is a characteristic of browser-delegated authentication, not native authentication."
23+
- content: "To manage user interactions through a web-based solution."
24+
isCorrect: false
25+
explanation: "Managing user interactions through a web-based solution isn't the primary purpose of native authentication."
26+
- content: "What authentication methods does native authentication in Microsoft Entra External ID support?"
27+
choices:
28+
- content: "Email with one-time passcode (OTP) sign-in."
29+
isCorrect: true
30+
explanation: "Email with one-time passcode (OTP) sign-in is supported."
31+
- content: "SSL Certificate."
32+
isCorrect: false
33+
explanation: "SSL certificate isn't an authentication method supported by Microsoft Entra External ID."
34+
- content: "Voice recognition."
35+
isCorrect: false
36+
explanation: "Voice recognition isn't an authentication method supported by Microsoft Entra External ID."
37+
- content: "Which method is used to initiate the user sign-up process in an Android or iOS/macOS app using Microsoft Entra's native authentication? "
38+
choices:
39+
- content: "signUp(parameters:delegate)"
40+
isCorrect: true
41+
explanation: "The signUp(parameters:delegate) method is used to initiate the user sign-up process in an Android and iOS/macOS app using Microsoft Entra's native authentication."
42+
- content: "signIn(parameters:delegate)"
43+
isCorrect: false
44+
explanation: "signIn(parameters:delegate) method is used to initiate the user sign-in process, not the sign-up process."
45+
- content: "createNativeAuthPublicClientApplication()"
46+
isCorrect: false
47+
explanation: "The createNativeAuthPublicClientApplication() method is used to create an MSAL instance for authentication, but it doesn't initiate the sign-up process."
48+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.configure-entra-external-native-auth.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: A summary of information
7+
ms.date: 04/10/2025
8+
author: S2FrdQ
9+
ms.author: joylynnkirui
10+
ms.topic: unit
11+
durationInMinutes: 2
12+
content: |
13+
[!include[](includes/8-summary.md)]
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## Introduction to Native authentication in Microsoft Entra External ID
2+
3+
Microsoft Entra's native authentication allows you to have full control over the design of your mobile and desktop application sign-in experiences. Unlike browser-based solutions, native authentication enables you to create visually appealing, pixel-perfect authentication screens that seamlessly blend into your app's interface. With this approach, you can fully customize the user interface, including design elements, logo placement, and layout, ensuring a consistent and branded look.
4+
5+
The standard app sign-in process, which relies on browser-delegated authentication, often results in a disruptive transition during authentication. Users are temporarily redirected to a system browser for authentication, only to be brought back to the app once the sign-in is complete.
6+
7+
## Available authentication methods
8+
9+
Currently, native authentication supports local account identity provider for two authentications methods:
10+
11+
- Email with one-time passcode (OTP) sign-in.
12+
- Email and password sign-in with support for self-service password reset (SSPR).
13+
14+
## When to use native authentication
15+
16+
When it comes to implementing authentication for mobile and desktop apps on External ID, you have two options:
17+
18+
- Microsoft-hosted browser-delegated authentication.
19+
- Fully custom SDK based native authentication.
20+
21+
Whether you choose native authentication or browser-delegated authentication, Microsoft Entra External ID supports both.
22+
23+
The following table compares the two authentication methods to help you decide the right option for your app.
24+
25+
| | **Browser-delegated authentication** | **Native authentication** |
26+
|---|---|---|
27+
| **User authentication experience** | Users are taken to a system browser or embedded browser for authentication only to be redirected back to the app when the sign-in is complete. This method is recommended if the redirection doesn't negatively affect the end user experience. | Users have a rich, native sign-up and sign-in journey without ever leaving the app. |
28+
| **Customization experience** | Managed [branding and customization options](/entra/external-id/customers/how-to-customize-branding-customers) are available as an out-of-the-box feature. | This API-centric approach offers a high level of customization, providing extensive flexibility in design and the ability to create tailored interactions and flows. |
29+
| **Applicability** | Suitable for workforce, B2B, and B2C apps, it can be used for native apps, single-page applications, and web apps. | For customer first-party apps, when the same entity operates the authorization server and the app and the user perceives them both as the same entity. |
30+
| **Go live effort** | Low. Use it straight out of the box. | High. The developer builds, owns, and maintains the authentication experience. |
31+
| **Maintenance effort** | Low. | High. For each feature that Microsoft releases, you need to update the SDK to use it. |
32+
| **Security** | Most secure option. | Security responsibility is shared with developers, and best practices need to be followed. It's prone to phishing attacks. |
33+
| **Supported languages and frameworks** | ASP.NET Core, Android (Kotlin, Java), iOS/macOS (Swift, Objective-C), JavaScript, React, Angular, Nodejs, Python, Java | Android (Kotlin, Java), iOS/macOS (Swift, Objective-C). For other languages and platforms, you can use the [native authentication API](/entra/identity-platform/reference-native-authentication-overview). |
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
To create a tenant within an existing Azure subscription, perform the following steps:
2+
3+
1. In the [Microsoft Entra admin center](https://entra.microsoft.com/), browse to **Identity** > **Overview** . Then, select **Manage tenants**.
4+
5+
![Screenshot of the Identity Overview page. The toolbar button titled Manage tenants is highlighted.](../media/manage-tenant.png)
6+
7+
1. On the **Manage tenants** page, select **Create**.
8+
1. Select **External**, and then select **Continue**.
9+
10+
![Screenshot of Choose a configuration for your tenant. The External choice group is selected.](../media/external-tenant.png)
11+
12+
1. On the **Basics** tab, in the **Create a tenant** page, enter the following information: Type your desired **Tenant Name** (for example Woodgrove live demo). Type your desired **Domain Name** (for example woodgrovelive). Select your desired **Location**. This selection can't be changed later. Then, select **Next: Add a subscription**.
13+
1. On the **Add a subscription** tab, enter the following information: Next to **Subscription**, select your subscription from the menu. Next to **Resource group**, select a resource group from the menu. If there are no available resource groups, select **Create new**, add a name, and then select **OK**. If **Resource group location** appears, select the geographic location of the resource group from the menu. Then, select **Review + Create**.
14+
1. If the information that you entered is correct, select **Create**. The tenant creation process can take up to 30 minutes.
15+
1. You can monitor the progress of the tenant creation process in the **Notifications** pane. Once the tenant is created, you can access it in both the Microsoft Entra admin center and the Azure portal.
16+
1. Use the **Settings** icon in the top menu to **Switch** to your customer tenant you created from the **Directories + subscriptions** menu. If the tenant you created doesn't appear in the list, refresh the page (using the web browser refresh button).
17+
1. Browse to **Home** > **Tenant overview** to start configuring your tenant.
18+
19+
The Microsoft Entra External ID tenant is ready to use.

0 commit comments

Comments
 (0)