Skip to content

Commit 52111d8

Browse files
authored
Merge pull request #145022 from knicholasa/fido2-dev-docs
Adding new doc on supporting FIDO2 passwordless auth for developers
2 parents 774219a + 36f98a8 commit 52111d8

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

articles/active-directory/develop/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,10 @@
475475
href: reference-third-party-cookies-spas.md
476476
- name: Handle SameSite cookie changes in Chrome
477477
href: howto-handle-samesite-cookie-changes-chrome-browser.md
478+
- name: Support passwordless authentication
479+
items:
480+
- name: Support FIDO2 authentication
481+
href: support-fido2-authentication.md
478482
- name: Authenticate apps and services
479483
items:
480484
- name: Create a service principal using Azure PowerShell
22.5 KB
Loading
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Support passwordless authentication with FIDO2 keys in apps you develop | Azure
3+
titleSuffix: Microsoft identity platform
4+
description: This deployment guide explains how to support passwordless authentication with FIDO2 security keys in the applications you develop
5+
services: active-directory
6+
author: knicholasa
7+
8+
ms.service: active-directory
9+
ms.subservice: develop
10+
ms.topic: reference
11+
ms.workload: identity
12+
ms.date: 1/29/2021
13+
ms.author: nichola
14+
# ms.reviewer:
15+
ms.custom: aaddev
16+
# Customer intent: As a developer, I want to know how to support FIDO2 authentication in my apps
17+
---
18+
19+
# Support passwordless authentication with FIDO2 keys in apps you develop
20+
21+
To ensure that the [FIDO2 passwordless authentication](../../active-directory/authentication/concept-authentication-passwordless.md) is available to users of your applications, use these app and platform configurations.
22+
23+
## General app configuration
24+
25+
**Home-realm discovery and domain hints**
26+
27+
Don't use a domain hint to bypass [home-realm discovery](../../active-directory/manage-apps/configure-authentication-for-federated-users-portal.md). This feature is meant to make sign-ins more streamlined, but the federated identity provider may not support passwordless authentication.
28+
29+
**Requiring specific kinds of credentials**
30+
31+
If you are using SAML, do not specify that a password is required [using the RequestedAuthnContext element](single-sign-on-saml-protocol.md#requestauthncontext).
32+
33+
The RequestedAuthnContext element is optional, so to resolve this you can remove it from your SAML authentication requests. This is a general best practice, as using this element can also prevent other authentication options like multi-factor authentication from working correctly.
34+
35+
**Changing from the most recently used authentication method**
36+
37+
The sign in method that was most recently used by a user will be presented to them first. This may cause confusion when users believe they must use the first option presented. However, they can choose another option by selecting "Other ways to sign in" as shown below.
38+
39+
![Image of the user authentication experience highlighting the button that allows the user to change the authentication method.](./media/support-fido2-authentication/most-recently-used-method.png)
40+
41+
## Platform specific guidance
42+
43+
**Desktop best practices**
44+
45+
The recommended options for implementing authentication are, in order:
46+
47+
- .NET desktop applications that are using the Microsoft Authentication Library (MSAL) should use the Windows Authentication Manager (WAM). This integration and its benefits are [documented on GitHub](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/wam).
48+
- Use [WebView2](https://docs.microsoft.com/microsoft-edge/webview2/) to support FIDO2 in an embedded browser.
49+
- Use the system browser. The MSAL libraries for desktop platforms use this method by default. You can consult our page on FIDO2 browser compatibility to ensure the browser you use supports FIDO2 authentication.
50+
51+
**Mobile best practices**
52+
53+
As of February 2020, FIDO2 is not currently supported for native iOS or Android apps, but it is in development.
54+
55+
To prepare applications for its availability, and as a general best practice, iOS and Android applications should use MSAL with its default configuration of using the system web browser.
56+
57+
If you are not using MSAL, you should still use the system web browser for authentication. Features such as single sign-on and conditional access rely on a shared web surface provided by the system web browser. This means using [Chrome Custom Tabs](https://developer.chrome.com/docs/multidevice/android/customtabs/) (Android) or [Authenticating a User Through a Web Service | Apple Developer Documentation](https://developer.apple.com/documentation/authenticationservices/authenticating_a_user_through_a_web_service) (iOS).
58+
59+
**Web App and SPA best practices**
60+
61+
The availability of FIDO2 passwordless authentication for applications that run in a web browser will depending on the combination of browser and platform. You can consult or FIDO2 compatibility matrix to check if the combination your users will encounter is supported.
62+
63+
## Next steps
64+
65+
[Passwordless authentication options for Azure Active Directory](../../active-directory/authentication/concept-authentication-passwordless.md)

0 commit comments

Comments
 (0)