Skip to content

Commit 9a1f36c

Browse files
authored
Merge pull request #111811 from iainfoulds/azuread-auth-cbaios
[AzureAD] Update / refactor iOS certificate based authentication
2 parents ae20f09 + c28caa2 commit 9a1f36c

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed
Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,29 @@
11
---
22
title: Certificate-based authentication on iOS - Azure Active Directory
3-
description: Learn about the supported scenarios and the requirements for configuring certificate-based authentication in solutions with iOS devices
3+
description: Learn about the supported scenarios and the requirements for configuring certificate-based authentication for Azure Active Directory in solutions with iOS devices
44

55
services: active-directory
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: conceptual
9-
ms.date: 01/15/2018
9+
ms.date: 04/17/2020
1010

1111
ms.author: iainfou
1212
author: iainfoulds
1313
manager: daveba
14-
ms.reviewer: annaba
1514

1615
ms.collection: M365-identity-device-management
1716
---
1817
# Azure Active Directory certificate-based authentication on iOS
1918

20-
iOS devices can use certificate-based authentication (CBA) to authenticate to Azure Active Directory using a client certificate on their device when connecting to:
19+
To improve security, iOS devices can use certificate-based authentication (CBA) to authenticate to Azure Active Directory (Azure AD) using a client certificate on their device when connecting to the following applications or services:
2120

2221
* Office mobile applications such as Microsoft Outlook and Microsoft Word
2322
* Exchange ActiveSync (EAS) clients
2423

25-
Configuring this feature eliminates the need to enter a username and password combination into certain mail and Microsoft Office applications on your mobile device.
24+
Using certificates eliminates the need to enter a username and password combination into certain mail and Microsoft Office applications on your mobile device.
2625

27-
This topic provides you with the requirements and the supported scenarios for configuring CBA on an iOS device for users of tenants in Office 365 Enterprise, Business, Education, US Government, China, and Germany plans.
28-
29-
This feature is available in preview in Office 365 US Government Defense and Federal plans.
26+
This article details the requirements and the supported scenarios for configuring CBA on an iOS device. CBA for iOS is available across Azure public clouds, Microsoft Government Cloud, Microsoft Cloud Germany, and Microsoft Azure China 21Vianet.
3027

3128
## Microsoft mobile applications support
3229

@@ -45,40 +42,48 @@ This feature is available in preview in Office 365 US Government Defense and Fed
4542

4643
## Requirements
4744

48-
The device OS version must be iOS 9 and above
45+
To use CBA with iOS, the following requirements and considerations apply:
46+
47+
* The device OS version must be iOS 9 or above.
48+
* Microsoft Authenticator is required for Office applications on iOS.
49+
* An identity preference must be created in the macOS Keychain that include the authentication URL of the ADFS server. For more information, see [Create an identity preference in Keychain Access on Mac](https://support.apple.com/guide/keychain-access/create-an-identity-preference-kyca6343b6c9/mac).
4950

50-
A federation server must be configured.
51+
The following Active Directory Federation Services (ADFS) requirements and considerations apply:
5152

52-
Microsoft Authenticator is required for Office applications on iOS.
53+
* The ADFS server must be enabled for certificate authentication and use federated authentication.
54+
* The certificate needs to have to use Enhanced Key Usage (EKU) and contain the UPN of the user in the *Subject Alternative Name (NT Principal Name)*.
5355

54-
For Azure Active Directory to revoke a client certificate, the ADFS token must have the following claims:
56+
## Configure ADFS
5557

56-
* `http://schemas.microsoft.com/ws/2008/06/identity/claims/<serialnumber>`
57-
(The serial number of the client certificate)
58-
* `http://schemas.microsoft.com/2012/12/certificatecontext/field/<issuer>`
59-
(The string for the issuer of the client certificate)
58+
For Azure AD to revoke a client certificate, the ADFS token must have the following claims. Azure AD adds these claims to the refresh token if they're available in the ADFS token (or any other SAML token). When the refresh token needs to be validated, this information is used to check the revocation:
6059

61-
Azure Active Directory adds these claims to the refresh token if they are available in the ADFS token (or any other SAML token). When the refresh token needs to be validated, this information is used to check the revocation.
60+
* `http://schemas.microsoft.com/ws/2008/06/identity/claims/<serialnumber>` - add the serial number of your client certificate
61+
* `http://schemas.microsoft.com/2012/12/certificatecontext/field/<issuer>` - add the string for the issuer of your client certificate
6262

63-
As a best practice, you should update your organization's ADFS error pages with the following information:
63+
As a best practice, you also should update your organization's ADFS error pages with the following information:
6464

65-
* The requirement for installing the Microsoft Authenticator on iOS
65+
* The requirement for installing the Microsoft Authenticator on iOS.
6666
* Instructions on how to get a user certificate.
6767

68-
For more information, see [Customizing the AD FS Sign-in Pages](https://technet.microsoft.com/library/dn280950.aspx).
68+
For more information, see [Customizing the AD FS sign in page](https://technet.microsoft.com/library/dn280950.aspx).
69+
70+
## Use modern authentication with Office apps
71+
72+
Some Office apps with modern authentication enabled send `prompt=login` to Azure AD in their request. By default, Azure AD translates `prompt=login` in the request to ADFS as `wauth=usernamepassworduri` (asks ADFS to do U/P Auth) and `wfresh=0` (asks ADFS to ignore SSO state and do a fresh authentication). If you want to enable certificate-based authentication for these apps, modify the default Azure AD behavior.
6973

70-
Some Office apps (with modern authentication enabled) send '*prompt=login*' to Azure AD in their request. By default, Azure AD translates '*prompt=login*' in the request to ADFS as '*wauth=usernamepassworduri*' (asks ADFS to do U/P Auth) and '*wfresh=0*' (asks ADFS to ignore SSO state and do a fresh authentication). If you want to enable certificate-based authentication for these apps, you need to modify the default Azure AD behavior. Just set the '*PromptLoginBehavior*' in your federated domain settings to '*Disabled*'.
71-
You can use the [MSOLDomainFederationSettings](/powershell/module/msonline/set-msoldomainfederationsettings?view=azureadps-1.0) cmdlet to perform this task:
74+
To update the default behavior, set the '*PromptLoginBehavior*' in your federated domain settings to *Disabled*. You can use the [MSOLDomainFederationSettings](/powershell/module/msonline/set-msoldomainfederationsettings?view=azureadps-1.0) cmdlet to perform this task, as shown in the following example:
7275

73-
`Set-MSOLDomainFederationSettings -domainname <domain> -PromptLoginBehavior Disabled`
76+
```powershell
77+
Set-MSOLDomainFederationSettings -domainname <domain> -PromptLoginBehavior Disabled
78+
```
7479

75-
## Exchange ActiveSync clients support
80+
## Support for Exchange ActiveSync clients
7681

77-
On iOS 9 or later, the native iOS mail client is supported. For all other Exchange ActiveSync applications, to determine if this feature is supported, contact your application developer.
82+
On iOS 9 or later, the native iOS mail client is supported. To determine if this feature is supported for all other Exchange ActiveSync applications, contact your application developer.
7883

7984
## Next steps
8085

81-
If you want to configure certificate-based authentication in your environment, see [Get started with certificate-based authentication on Android](../authentication/active-directory-certificate-based-authentication-get-started.md) for instructions.
86+
To configure certificate-based authentication in your environment, see [Get started with certificate-based authentication](active-directory-certificate-based-authentication-get-started.md) for instructions.
8287

8388
<!--Image references-->
8489
[1]: ./media/active-directory-certificate-based-authentication-ios/ic195031.png

0 commit comments

Comments
 (0)