Skip to content

Commit 476f900

Browse files
committed
Merge branch 'master' into mau-2
2 parents ad3d171 + e439229 commit 476f900

File tree

453 files changed

+3016
-1606
lines changed

Some content is hidden

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

453 files changed

+3016
-1606
lines changed

.whatsnew/.external-identities.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"relativeLinkPrefix": "/azure/active-directory/external-identities"
88
},
99
"inclusionCriteria": {
10-
"excludePullRequestTitles": true,
10+
"omitPullRequestTitles" : true,
1111
"minAdditionsToFile" : 10,
1212
"maxFilesChanged": 50,
1313
"labels": [
@@ -17,7 +17,7 @@
1717
},
1818
"areas": [
1919
{
20-
"name": ".",
20+
"names": [ "."],
2121
"heading": "Azure Active Directory external identities"
2222
}
2323
]

articles/active-directory-b2c/localization-string-ids.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ The following are the IDs for a [one-time password technical profile](one-time-p
520520
<LocalizedStrings>
521521
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</LocalizedString>
522522
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</LocalizedString>
523-
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxNumberOfCodeGenerated">You have exceeded the number of retries allowed.</LocalizedString>
523+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxNumberOfCodeGenerated">You have exceeded the number of code generation attempts allowed.</LocalizedString>
524524
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidCode">You have entered the wrong code.</LocalizedString>
525525
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfVerificationFailedRetryAllowed">That code is incorrect. Please try again.</LocalizedString>
526526
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</LocalizedString>

articles/active-directory/authentication/concept-authentication-passwordless.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -105,26 +105,6 @@ The following process is used when a user signs in with a FIDO2 security key:
105105
8. Azure AD verifies the signed nonce using the FIDO2 public key.
106106
9. Azure AD returns PRT to enable access to on-premises resources.
107107

108-
While there are many keys that are FIDO2 certified by the FIDO Alliance, Microsoft requires some optional extensions of the FIDO2 Client-to-Authenticator Protocol (CTAP) specification to be implemented by the vendor to ensure maximum security and the best experience.
109-
110-
A security key MUST implement the following features and extensions from the FIDO2 CTAP protocol to be Microsoft-compatible. Authenticator vendor must implement both FIDO_2_0 and FIDO_2_1 version of the spec. For more information, see the [Client to Authenticator Protocol](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html).
111-
112-
| # | Feature / Extension trust | Why is this feature or extension required? |
113-
| --- | --- | --- |
114-
| 1 | Resident/Discoverable key | This feature enables the security key to be portable, where your credential is stored on the security key and is discoverable which makes usernameless flows possible. |
115-
| 2 | Client pin | This feature enables you to protect your credentials with a second factor and applies to security keys that do not have a user interface.<br>Both [PIN protocol 1](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#pinProto1) and [PIN protocol 2](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#pinProto2) MUST be implemented. |
116-
| 3 | hmac-secret | This extension ensures you can sign in to your device when it's off-line or in airplane mode. |
117-
| 4 | Multiple accounts per RP | This feature ensures you can use the same security key across multiple services like Microsoft Account and Azure Active Directory. |
118-
| 5 | Credential Management | This feature allows users to manage their credentials on security keys on platforms and applies to security keys that do not have this capability built-in.<br>Authenticator MUST implement [authenticatorCredentialManagement](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorCredentialManagement) and [credentialMgmtPreview](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#prototypeAuthenticatorCredentialManagement) commands for this feature. |
119-
| 6 | Bio Enrollment | This feature allows users to enroll their biometrics on their authenticators and applies to security keys that do not have this capability built in.<br> Authenticator MUST implement [authenicatorBioEnrollment](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorBioEnrollment) and [userVerificationMgmtPreview](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#prototypeAuthenticatorBioEnrollment) commands for this feature. |
120-
| 7 | pinUvAuthToken | This feature allows platform to have auth tokens using PIN or BIO match which helps in better user experience when multiple credentials are present on the authenticator. |
121-
| 8 | forcePinChange | This feature allows enterprises to ask users to change their PIN in remote deployments. |
122-
| 9 | setMinPINLength | This feature allows enterprises to have custom minimum PIN length for their users. Authenticator MUST implement minPinLength extension and have maxRPIDsForSetMinPINLength of value at least 1. |
123-
| 10 | alwaysUV | This feature allows enterprises or users to always require user verification to use this security key. Authenticator MUST implement toggleAlwaysUv subcommand. It is up to vendor to decide the default value of alwaysUV. At this point due to nature of various RPs adoption and OS versions, recommended value for biometric based authenticators is true and non-biometric based authenticators is false. |
124-
| 11 | credBlob | This extension allows websites to store small information in the security key. maxCredBlobLength MUST be atleast 32 bytes. |
125-
| 12 | largeBlob | This extension allows websites to store larger information like certificates in the security key. maxSerializedLargeBlobArray MUST be atleast 1024 bytes. |
126-
127-
128108
### FIDO2 security key providers
129109

130110
The following providers offer FIDO2 security keys of different form factors that are known to be compatible with the passwordless experience. We encourage you to evaluate the security properties of these keys by contacting the vendor as well as FIDO Alliance.

articles/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,13 @@ Run the following steps in each domain and forest in your organization that cont
9999
1. Open a PowerShell prompt using the Run as administrator option.
100100
1. Run the following PowerShell commands to create a new Azure AD Kerberos Server object both in your on-premises Active Directory domain and in your Azure Active Directory tenant.
101101

102-
> [!NOTE]
103-
> Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
102+
> [!NOTE]
103+
> Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
104104
105-
```powershell
106-
# Specify the on-premises Active Directory domain. A new Azure AD
107-
# Kerberos Server object will be created in this Active Directory domain.
108-
$domain = "contoso.corp.com"
105+
```powershell
106+
# Specify the on-premises Active Directory domain. A new Azure AD
107+
# Kerberos Server object will be created in this Active Directory domain.
108+
$domain = "contoso.corp.com"
109109
110110
# Enter an Azure Active Directory global administrator username and password.
111111
$cloudCred = Get-Credential
@@ -137,13 +137,13 @@ $domain = "contoso.corp.com"
137137

138138
> [!NOTE]
139139
> If your organization protects password-based sign-in and enforces modern authentication methods such as multifactor authentication, FIDO2, or smart card technology, you must use the `-UserPrincipalName` parameter with the User Principal Name (UPN) of a global administrator.
140-
> - Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
141-
> - Replace `[email protected]` in the following example with the UPN of a global administrator.
140+
> - Replace `contoso.corp.com` in the following example with your on-premises Active Directory domain name.
141+
> - Replace `[email protected]` in the following example with the UPN of a global administrator.
142142
143-
```powershell
144-
# Specify the on-premises Active Directory domain. A new Azure AD
145-
# Kerberos Server object will be created in this Active Directory domain.
146-
$domain = "contoso.corp.com"
143+
```powershell
144+
# Specify the on-premises Active Directory domain. A new Azure AD
145+
# Kerberos Server object will be created in this Active Directory domain.
146+
$domain = "contoso.corp.com"
147147
148148
# Enter a UPN of an Azure Active Directory global administrator
149149
$userPrincipalName = "[email protected]"

articles/active-directory/develop/TOC.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -738,9 +738,9 @@
738738
items:
739739
- name: Videos
740740
href: identity-videos.md
741-
- name: Microsoft identity platform developer blog
742-
href: https://developer.microsoft.com/identity/blogs/
743-
- name: Azure AD blog
741+
- name: Microsoft identity platform - Microsoft 365 Developer Blog
742+
href: https://devblogs.microsoft.com/microsoft365dev/category/microsoft-identity-platform/
743+
- name: Azure Active Directory Identity Blog
744744
href: https://techcommunity.microsoft.com/t5/azure-active-directory-identity/bg-p/Identity
745745
- name: Azure roadmap
746746
href: https://azure.microsoft.com/roadmap/?category=security-identity

articles/active-directory/develop/apple-sso-plugin.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.workload: identity
1313
ms.date: 08/10/2021
1414
ms.author: brandwe
1515
ms.reviewer: brandwe
16-
ms.custom: aaddev, has-adal-ref
16+
ms.custom: aaddev
1717
---
1818

1919
# Microsoft Enterprise SSO plug-in for Apple devices (preview)
@@ -218,7 +218,7 @@ Use the bundle IDs to configure SSO for the apps.
218218

219219
#### Allow users to sign in from unknown applications and the Safari browser
220220

221-
By default, the Microsoft Enterprise SSO plug-in provides SSO for authorized apps only when a user has signed in from an app that uses a Microsoft identity platform library like MSAL or Azure Active Directory Authentication Library (ADAL). The Microsoft Enterprise SSO plug-in can also acquire a shared credential when it's called by another app that uses a Microsoft identity platform library during a new token acquisition.
221+
By default, the Microsoft Enterprise SSO plug-in provides SSO for authorized apps only when a user has signed in from an app that uses a Microsoft identity platform library like MSAL. The Microsoft Enterprise SSO plug-in can also acquire a shared credential when it's called by another app that uses a Microsoft identity platform library during a new token acquisition.
222222

223223
When you enable the `browser_sso_interaction_enabled` flag, apps that don't use a Microsoft identity platform library can do the initial bootstrapping and get a shared credential. The Safari browser can also do the initial bootstrapping and get a shared credential.
224224

articles/active-directory/develop/msal-compare-msal-js-and-adal-js.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: "Migrate your JavaScript application from ADAL.js to MSAL.js | Azure"
33
titleSuffix: Microsoft identity platform
44
description: How to update your existing JavaScript application to use the Microsoft Authentication Library (MSAL) for authentication and authorization instead of the Active Directory Authentication Library (ADAL).
55
services: active-directory
6-
author: KarenH444
6+
author: mmacy
77
manager: CelesteDG
88

99
ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: how-to
1212
ms.workload: identity
1313
ms.date: 07/06/2021
14-
ms.author: karenhoran
14+
ms.author: marsma
1515
ms.custom: has-adal-ref
1616
#Customer intent: As an application developer, I want to learn how to change the code in my JavaScript application from using ADAL.js as its authentication library to MSAL.js.
1717
---
@@ -321,7 +321,7 @@ The snippets below demonstrates the minimal code required for a single-page appl
321321
<meta http-equiv="X-UA-Compatible" content="IE=edge">
322322
<meta name="viewport" content="width=device-width, initial-scale=1.0">
323323

324-
<script
324+
<script
325325
type="text/javascript"
326326
src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.18/js/adal.min.js">
327327
</script>
@@ -374,8 +374,8 @@ The snippets below demonstrates the minimal code required for a single-page appl
374374
375375
tokenButton.addEventListener('click', () => {
376376
authContext.acquireTokenPopup(
377-
"https://graph.microsoft.com",
378-
null, null,
377+
"https://graph.microsoft.com",
378+
null, null,
379379
function (error, token) {
380380
console.log(error, token);
381381
}
@@ -398,8 +398,8 @@ The snippets below demonstrates the minimal code required for a single-page appl
398398
<meta http-equiv="X-UA-Compatible" content="IE=edge">
399399
<meta name="viewport" content="width=device-width, initial-scale=1.0">
400400

401-
<script
402-
type="text/javascript"
401+
<script
402+
type="text/javascript"
403403
src="https://alcdn.msauth.net/browser/2.14.2/js/msal-browser.min.js">
404404
</script>
405405
</head>

articles/active-directory/develop/msal-node-migration.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: "Migrate your Node.js application from ADAL to MSAL | Azure"
33
titleSuffix: Microsoft identity platform
44
description: How to update your existing Node.js application to use the Microsoft Authentication Library (MSAL) for authentication and authorization instead of the Active Directory Authentication Library (ADAL).
55
services: active-directory
6-
author: KarenH444
6+
author: mmacy
77
manager: CelesteDG
88

99
ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: how-to
1212
ms.workload: identity
1313
ms.date: 04/26/2021
14-
ms.author: karenhoran
14+
ms.author: marsma
1515
ms.custom: has-adal-ref
1616
#Customer intent: As an application developer, I want to learn how to change the code in my Node.js application from using ADAL as its authentication library to MSAL.
1717
---
@@ -123,7 +123,7 @@ const msalConfig = {
123123
clientId: "YOUR_CLIENT_ID",
124124
authority: "https://login.microsoftonline.com/YOUR_TENANT_ID",
125125
clientSecret: "YOUR_CLIENT_SECRET",
126-
knownAuthorities: [],
126+
knownAuthorities: [],
127127
},
128128
cache: {
129129
// your implementation of caching
@@ -309,13 +309,13 @@ const msal = require('@azure/msal-node');
309309

310310
const msalConfig = {
311311
auth: {
312-
// authentication related parameters
312+
// authentication related parameters
313313
},
314314
cache: {
315315
cachePlugin // your implementation of cache plugin
316316
},
317317
system: {
318-
// logging related options
318+
// logging related options
319319
}
320320
}
321321

@@ -435,9 +435,9 @@ adal.Logging.setLoggingOptions({
435435
});
436436

437437
// Auth code request URL template
438-
var templateAuthzUrl = 'https://login.microsoftonline.com/'
439-
+ tenant + '/oauth2/authorize?response_type=code&client_id='
440-
+ clientId + '&redirect_uri=' + redirectUri
438+
var templateAuthzUrl = 'https://login.microsoftonline.com/'
439+
+ tenant + '/oauth2/authorize?response_type=code&client_id='
440+
+ clientId + '&redirect_uri=' + redirectUri
441441
+ '&state=<state>&resource=' + resource;
442442

443443
// Initialize express
@@ -453,7 +453,7 @@ app.get('/auth', function(req, res) {
453453
app.locals.state = buf.toString('base64')
454454
.replace(/\//g, '_')
455455
.replace(/\+/g, '-');
456-
456+
457457
// Construct auth code request URL
458458
var authorizationUrl = templateAuthzUrl
459459
.replace('<state>', app.locals.state);
@@ -469,24 +469,24 @@ app.get('/redirect', function(req, res) {
469469
}
470470

471471
// Initialize an AuthenticationContext object
472-
var authenticationContext =
472+
var authenticationContext =
473473
new adal.AuthenticationContext(authorityUrl);
474-
474+
475475
// Exchange auth code for tokens
476476
authenticationContext.acquireTokenWithAuthorizationCode(
477-
req.query.code,
478-
redirectUri,
479-
resource,
480-
clientId,
477+
req.query.code,
478+
redirectUri,
479+
resource,
480+
clientId,
481481
clientSecret,
482482
function(err, response) {
483483
res.send(response);
484484
}
485485
);
486486
});
487487

488-
app.listen(3000, function() {
489-
console.log(`listening on port 3000!`);
488+
app.listen(3000, function() {
489+
console.log(`listening on port 3000!`);
490490
});
491491
```
492492

@@ -525,7 +525,7 @@ const cca = new msal.ConfidentialClientApplication(config);
525525
const app = express();
526526

527527
app.get('/auth', (req, res) => {
528-
528+
529529
// Construct a request object for auth code
530530
const authCodeUrlParameters = {
531531
scopes: ["user.read"],
@@ -540,7 +540,7 @@ app.get('/auth', (req, res) => {
540540
});
541541

542542
app.get('/redirect', (req, res) => {
543-
543+
544544
// Use the auth code in redirect request to construct
545545
// a token request object
546546
const tokenRequest = {
@@ -556,7 +556,7 @@ app.get('/redirect', (req, res) => {
556556
}).catch((error) => res.status(500).send(error));
557557
});
558558

559-
app.listen(3000, () =>
559+
app.listen(3000, () =>
560560
console.log(`listening on port 3000!`));
561561
```
562562

articles/active-directory/develop/quickstart-v2-nodejs-console.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ title: "Quickstart: Call Microsoft Graph from a Node.js console app | Azure"
33
titleSuffix: Microsoft identity platform
44
description: In this quickstart, you download and run a code sample that shows how a Node.js console application can get an access token and call an API protected by a Microsoft identity platform endpoint, using the app's own identity
55
services: active-directory
6-
author: KarenH444
6+
author: mmacy
77
manager: CelesteDG
88

99
ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: quickstart
1212
ms.date: 02/17/2021
13-
ms.author: karenhoran
13+
ms.author: marsma
1414
#Customer intent: As an application developer, I want to learn how my Node.js app can get an access token and call an API that is protected by a Microsoft identity platform endpoint using client credentials flow.
1515
---
1616

articles/active-directory/develop/quickstart-v2-nodejs-desktop.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ title: "Quickstart: Call Microsoft Graph from a Node.js desktop app | Azure"
33
titleSuffix: Microsoft identity platform
44
description: In this quickstart, you learn how a Node.js Electron desktop application can sign-in users and get an access token to call an API protected by a Microsoft identity platform endpoint
55
services: active-directory
6-
author: KarenH444
6+
author: mmacy
77
manager: CelesteDG
88

99
ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: quickstart
1212
ms.date: 02/17/2021
13-
ms.author: karenhoran
13+
ms.author: marsma
1414
#Customer intent: As an application developer, I want to learn how my Node.js Electron desktop application can get an access token and call an API that's protected by a Microsoft identity platform endpoint.
1515
---
1616

0 commit comments

Comments
 (0)