Skip to content

Commit 7c99ba2

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into work-fslogix-link2
2 parents ab09725 + cf841a8 commit 7c99ba2

File tree

2,864 files changed

+89589
-64572
lines changed

Some content is hidden

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

2,864 files changed

+89589
-64572
lines changed

.openpublishing.publish.config.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"build_entry_point": "docs",
3+
"redirection_files": [
4+
".openpublishing.redirection.json"
5+
],
36
"docsets_to_publish": [
47
{
58
"docset_name": "azure-documents",

.openpublishing.redirection.json

Lines changed: 29763 additions & 29566 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/TOC.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,16 @@
155155
href: identity-provider-github.md
156156
- name: Google
157157
href: identity-provider-google.md
158+
- name: ID.me
159+
href: identity-provider-id-me.md
158160
- name: LinkedIn
159161
href: identity-provider-linkedin.md
160162
- name: Microsoft Account
161163
href: identity-provider-microsoft-account.md
162164
- name: QQ
163165
href: identity-provider-qq.md
164-
- name: Salesforce
165-
href: identity-provider-salesforce.md
166+
- name: Salesforce (SAML)
167+
href: identity-provider-salesforce-saml.md
166168
- name: Twitter
167169
href: identity-provider-twitter.md
168170
- name: WeChat
@@ -196,6 +198,7 @@
196198
items:
197199
- name: Configure session behavior
198200
href: session-behavior.md
201+
displayName: SSO, KMSI, Keep me signed in
199202
- name: Configure tokens
200203
href: configure-tokens.md
201204
- name: Define custom attributes

articles/active-directory-b2c/add-identity-provider.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: msmimart
66
manager: celestedg
77

88
ms.author: mimart
9-
ms.date: 12/07/2020
9+
ms.date: 01/04/2021
1010
ms.custom: mvc
1111
ms.topic: how-to
1212
ms.service: active-directory
@@ -36,11 +36,12 @@ You typically use only one identity provider in your applications, but you have
3636
* [Facebook](identity-provider-facebook.md)
3737
* [Generic identity provider](identity-provider-generic-openid-connect.md)
3838
* [GitHub](identity-provider-github.md)
39+
* [ID.me](identity-provider-id-me.md)
3940
* [Google](identity-provider-google.md)
4041
* [LinkedIn](identity-provider-linkedin.md)
4142
* [Microsoft Account](identity-provider-microsoft-account.md)
4243
* [QQ](identity-provider-qq.md)
43-
* [Salesforce](identity-provider-salesforce.md)
44+
* [Salesforce](identity-provider-salesforce-saml.md)
4445
* [Twitter](identity-provider-twitter.md)
4546
* [WeChat](identity-provider-wechat.md)
4647
* [Weibo](identity-provider-weibo.md)

articles/active-directory-b2c/add-password-change-policy.md

Lines changed: 21 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: how-to
12-
ms.date: 12/16/2020
12+
ms.date: 12/17/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
zone_pivot_groups: b2c-policy-type
@@ -29,7 +29,12 @@ zone_pivot_groups: b2c-policy-type
2929

3030
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
3131

32-
In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signed in with a local account to change their password without having to prove their authenticity by email verification. If the session expires by the time the user gets to the password change flow, they're prompted to sign in again. This article shows you how to configure password change in [custom policies](custom-policy-overview.md). It's also possible to configure [self-service password reset](user-flow-self-service-password-reset.md) for user flows.
32+
In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signed in with a local account to change their password without having to prove their authenticity by email verification. The password change flow involves following steps:
33+
34+
1. Sign-in with a local account. If the session is still active, Azure AD B2C authorizes the user, and skips to the next step.
35+
1. Users must verify the **old password**, create, and confirm the **new password**.
36+
37+
![Password change flow](./media/add-password-change-policy/password-change-flow.png)
3338

3439
## Prerequisites
3540

@@ -62,41 +67,10 @@ In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signe
6267
<TechnicalProfiles>
6368
<TechnicalProfile Id="login-NonInteractive-PasswordChange">
6469
<DisplayName>Local Account SignIn</DisplayName>
65-
<Protocol Name="OpenIdConnect" />
66-
<Metadata>
67-
<Item Key="UserMessageIfClaimsPrincipalDoesNotExist">We can't seem to find your account</Item>
68-
<Item Key="UserMessageIfInvalidPassword">Your password is incorrect</Item>
69-
<Item Key="UserMessageIfOldPasswordUsed">Looks like you used an old password</Item>
70-
<Item Key="ProviderName">https://sts.windows.net/</Item>
71-
<Item Key="METADATA">https://login.microsoftonline.com/{tenant}/.well-known/openid-configuration</Item>
72-
<Item Key="authorization_endpoint">https://login.microsoftonline.com/{tenant}/oauth2/token</Item>
73-
<Item Key="response_types">id_token</Item>
74-
<Item Key="response_mode">query</Item>
75-
<Item Key="scope">email openid</Item>
76-
<Item Key="grant_type">password</Item>
77-
<Item Key="UsePolicyInRedirectUri">false</Item>
78-
<Item Key="HttpBinding">POST</Item>
79-
<Item Key="client_id">ProxyIdentityExperienceFrameworkAppId</Item>
80-
<Item Key="IdTokenAudience">IdentityExperienceFrameworkAppId</Item>
81-
</Metadata>
8270
<InputClaims>
83-
<InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="username" Required="true" />
8471
<InputClaim ClaimTypeReferenceId="oldPassword" PartnerClaimType="password" Required="true" />
85-
<InputClaim ClaimTypeReferenceId="grant_type" DefaultValue="password" />
86-
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="openid" />
87-
<InputClaim ClaimTypeReferenceId="nca" PartnerClaimType="nca" DefaultValue="1" />
88-
<InputClaim ClaimTypeReferenceId="client_id" DefaultValue="ProxyIdentityExperienceFrameworkAppID" />
89-
<InputClaim ClaimTypeReferenceId="resource_id" PartnerClaimType="resource" DefaultValue="IdentityExperienceFrameworkAppID" />
90-
</InputClaims>
91-
<OutputClaims>
92-
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="oid" />
93-
<OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
94-
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
95-
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
96-
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
97-
<OutputClaim ClaimTypeReferenceId="userPrincipalName" PartnerClaimType="upn" />
98-
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
99-
</OutputClaims>
72+
</InputClaims>
73+
<IncludeTechnicalProfile ReferenceId="login-NonInteractive" />
10074
</TechnicalProfile>
10175
</TechnicalProfiles>
10276
</ClaimsProvider>
@@ -109,9 +83,6 @@ In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signe
10983
<Metadata>
11084
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
11185
</Metadata>
112-
<CryptographicKeys>
113-
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
114-
</CryptographicKeys>
11586
<InputClaims>
11687
<InputClaim ClaimTypeReferenceId="objectId" />
11788
</InputClaims>
@@ -130,15 +101,13 @@ In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signe
130101
</ClaimsProviders>
131102
```
132103

133-
Replace `IdentityExperienceFrameworkAppId` with the application ID of the IdentityExperienceFramework application that you created in the prerequisite tutorial. Replace `ProxyIdentityExperienceFrameworkAppId` with the application ID of the ProxyIdentityExperienceFramework application that you also previously created.
134-
135104
3. The [UserJourney](userjourneys.md) element defines the path that the user takes when interacting with your application. Add the **UserJourneys** element if it doesn't exist with the **UserJourney** identified as `PasswordChange`:
136105

137106
```xml
138107
<UserJourneys>
139108
<UserJourney Id="PasswordChange">
140109
<OrchestrationSteps>
141-
<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.idpselections">
110+
<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.signuporsignin">
142111
<ClaimsProviderSelections>
143112
<ClaimsProviderSelection TargetClaimsExchangeId="LocalAccountSigninEmailExchange" />
144113
</ClaimsProviderSelections>
@@ -153,7 +122,12 @@ In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signe
153122
<ClaimsExchange Id="NewCredentials" TechnicalProfileReferenceId="LocalAccountWritePasswordChangeUsingObjectId" />
154123
</ClaimsExchanges>
155124
</OrchestrationStep>
156-
<OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
125+
<OrchestrationStep Order="4" Type="ClaimsExchange">
126+
<ClaimsExchanges>
127+
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
128+
</ClaimsExchanges>
129+
</OrchestrationStep>
130+
<OrchestrationStep Order="5" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
157131
</OrchestrationSteps>
158132
<ClientDefinition ReferenceId="DefaultWeb" />
159133
</UserJourney>
@@ -166,13 +140,7 @@ In Azure Active Directory B2C (Azure AD B2C), you can enable users who are signe
166140
7. Modify the **ReferenceId** attribute in `<DefaultUserJourney>` to match the ID of the new user journey that you created. For example, *PasswordChange*.
167141
8. Save your changes.
168142

169-
You can find the sample policy [here](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/scenarios/password-change).
170-
171-
## Test your policy
172-
173-
When testing your applications in Azure AD B2C, it can be useful to have the Azure AD B2C token returned to `https://jwt.ms` to be able to review the claims in it.
174-
175-
### Upload the files
143+
## Upload and test the policy
176144

177145
1. Sign in to the [Azure portal](https://portal.azure.com/).
178146
2. Make sure you're using the directory that contains your Azure AD B2C tenant by selecting the **Directory + subscription** filter in the top menu and choosing the directory that contains your tenant.
@@ -191,6 +159,8 @@ When testing your applications in Azure AD B2C, it can be useful to have the Azu
191159

192160
## Next steps
193161

194-
- Learn about how you can [Configure password complexity in Azure AD B2C](password-complexity.md).
162+
- Find the sample policy on [GitHub](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/scenarios/password-change).
163+
- Learn about how you can [configure password complexity in Azure AD B2C](password-complexity.md).
164+
- Set up a [password reset flow](add-password-reset-policy.md).
195165

196-
::: zone-end
166+
::: zone-end

articles/active-directory-b2c/claimsschema.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,14 +219,14 @@ The following example configures an **email** claim with regular expression inpu
219219
<DisplayName>Email Address</DisplayName>
220220
<DataType>string</DataType>
221221
<DefaultPartnerClaimTypes>
222-
<Protocol Name="OpenIdConnect" PartnerClaimType="email" />
222+
<Protocol Name="OpenIdConnect" PartnerClaimType="email" />
223223
</DefaultPartnerClaimTypes>
224224
<UserHelpText>Email address that can be used to contact you.</UserHelpText>
225225
<UserInputType>TextBox</UserInputType>
226226
<Restriction>
227-
<Pattern RegularExpression="^[a-zA-Z0-9.+!#$%&amp;'^_`{}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" HelpText="Please enter a valid email address." />
228-
</Restriction>
229-
</ClaimType>
227+
<Pattern RegularExpression="^[a-zA-Z0-9.+!#$%&amp;'^_`{}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" HelpText="Please enter a valid email address." />
228+
</Restriction>
229+
</ClaimType>
230230
```
231231

232232
The Identity Experience Framework renders the email address claim with email format input validation:

articles/active-directory-b2c/connect-with-saml-service-providers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Summarizing the two non-exclusive core scenarios with SAML:
3535
| Scenario | Azure AD B2C role | How-to |
3636
| -------- | ----------------- | ------- |
3737
| My application expects a SAML assertion to complete an authentication. | **Azure AD B2C acts as the identity provider (IdP)**<br />Azure AD B2C acts as a SAML IdP to the applications. | This article. |
38-
| My users need single-sign-on with a SAML-compliant identity provider like ADFS, Salesforce, or Shibboleth. | **Azure AD B2C acts as the service provider (SP)**<br />Azure AD B2C acts as a service provider when connecting to the SAML identity provider. It's a federation proxy between your application and the SAML identity provider. | <ul><li>[Set up sign-in with ADFS as a SAML IdP using custom policies](identity-provider-adfs.md)</li><li>[Set up sign-in with a Salesforce SAML provider using custom policies](identity-provider-salesforce.md)</li></ul> |
38+
| My users need single-sign-on with a SAML-compliant identity provider like ADFS, Salesforce, or Shibboleth. | **Azure AD B2C acts as the service provider (SP)**<br />Azure AD B2C acts as a service provider when connecting to the SAML identity provider. It's a federation proxy between your application and the SAML identity provider. | <ul><li>[Set up sign-in with ADFS as a SAML IdP using custom policies](identity-provider-adfs.md)</li><li>[Set up sign-in with a Salesforce SAML provider using custom policies](identity-provider-salesforce-saml.md)</li></ul> |
3939

4040
## Prerequisites
4141

@@ -389,7 +389,7 @@ To enable Azure AD B2C to send encrypted assertions, set the **WantsEncryptedAss
389389

390390
## Enable identity provider initiated flow (Optional)
391391

392-
In identity provider initiated flow, the sign-in process is initiated by the identity provider (Azure AD B2C), which sends an unsolicited SAML response to the service provider (your relying party application). We don't currently support scenarios where the initiating identity provider is an external identity provider, for example [AD-FS](identity-provider-adfs.md), or [Salesforce](identity-provider-salesforce.md).
392+
In identity provider initiated flow, the sign-in process is initiated by the identity provider (Azure AD B2C), which sends an unsolicited SAML response to the service provider (your relying party application). We don't currently support scenarios where the initiating identity provider is an external identity provider, for example [AD-FS](identity-provider-adfs.md), or [Salesforce](identity-provider-salesforce-saml.md).
393393

394394
To enable identity provider (Azure AD B2C) initiated flow, set the **IdpInitiatedProfileEnabled** metadata item to `true` in the [relying party technical profile](relyingparty.md#technicalprofile).
395395

articles/active-directory-b2c/id-token-hint.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ The id_token_hint must be a valid JWT token. The following table lists the claim
3232

3333
| Name | Claim | Example value | Description |
3434
| ---- | ----- | ------------- | ----------- |
35-
| Audience | `aud` | `a489fc44-3cc0-4a78-92f6-e413cd853eae` | Identifies the intended recipient of the token. This is an arbitrary string defined by the token issuer. Azure AD B2C validates this value and rejects the token if it doesn't match. |
36-
| Issuer | `iss` |`https://localhost` | Identifies the security token service (token issuer). This is an arbitrary URI defined by the token issuer. Azure AD B2C validates this value and rejects the token if it doesn't match. |
37-
| Expiration time | `exp` | `1600087315` | The time at which the token becomes invalid, represented in epoch time. Azure AD B2C doesn't validate this claim. |
38-
| Not before | `nbf` | `1599482515` | The time at which the token becomes valid, represented in epoch time. This time is usually the same as the time the token was issued. Azure AD B2C doesn't validate this claim. |
35+
| Audience | `aud` | `a489fc44-3cc0-4a78-92f6-e413cd853eae` | Identifies the intended recipient of the token. The audience is an arbitrary string defined by the token issuer. Azure AD B2C validates this value, and rejects the token if it doesn't match. |
36+
| Issuer | `iss` |`https://localhost` | Identifies the security token service (token issuer). The issuer is an arbitrary URI defined by the token issuer. Azure AD B2C validates this value, and rejects the token if it doesn't match. |
37+
| Expiration time | `exp` | `1600087315` | The time at which the token becomes invalid, represented in epoch time. Azure AD B2C validates this value, and rejects the token if the token is expired.|
38+
| Not before | `nbf` | `1599482515` | The time at which the token becomes valid, represented in epoch time. This time is usually the same as the time the token was issued. Azure AD B2C validates this value, and rejects the token if the token lifetime is not valid. |
3939

4040
The following token is an example of a valid ID token:
4141

@@ -81,15 +81,15 @@ The following metadata is relevant when using symmetric key.
8181
| Attribute | Required | Description |
8282
| --------- | -------- | ----------- |
8383
| issuer | Yes | Identifies the security token service (token issuer). This value must be identical to the `iss` claim within the JWT token claim. |
84-
| IdTokenAudience | Yes | Identifies the intended recipient of the token. Must be identical to the `aud` claim withing the JWT token claim. |
84+
| IdTokenAudience | Yes | Identifies the intended recipient of the token. Must be identical to the `aud` claim within the JWT token claim. |
8585

8686
The following metadata is relevant when using an asymmetric key.
8787

8888
| Attribute | Required | Description |
8989
| --------- | -------- | ----------- |
9090
| METADATA| Yes | A URL that points to a token issuer configuration document, which is also known as an OpenID well-known configuration endpoint. |
9191
| issuer | No | Identifies the security token service (token issuer). This value can be used to overwrite the value configured in the metadata, and must be identical to the `iss` claim within the JWT token claim. |
92-
| IdTokenAudience | No | Identifies the intended recipient of the token. Must be identical to the `aud` claim withing the JWT token claim. |
92+
| IdTokenAudience | No | Identifies the intended recipient of the token. Must be identical to the `aud` claim within the JWT token claim. |
9393

9494
## Cryptographic keys
9595

@@ -268,7 +268,7 @@ For both symmetric and asymmetric approaches, the `id_token_hint` technical prof
268268
</RelyingParty>
269269
```
270270

271-
Depending on your business requirements, you might need to add token validations, for example to check token expiry, the format of the email address, and more. To do so, add orchestration steps that invoke a [claims transformation technical profile](claims-transformation-technical-profile.md). Also add a [self-asserted technical profile](self-asserted-technical-profile.md) to present an error message.
271+
Depending on your business requirements, you might need to add token validations, for example check the format of the email address. To do so, add orchestration steps that invoke a [claims transformation technical profile](claims-transformation-technical-profile.md). Also add a [self-asserted technical profile](self-asserted-technical-profile.md) to present an error message.
272272

273273
### Create and sign a token
274274

@@ -280,4 +280,4 @@ https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signi
280280

281281
## Next steps
282282

283-
- Check the [sign-up with invite email](https://github.com/azure-ad-b2c/samples/blob/master/policies/invite/README.md) solution on the Azure AD B2C community GitHub repo.
283+
- Check the [sign-up with invite email](https://github.com/azure-ad-b2c/samples/blob/master/policies/invite/README.md) solution on the Azure AD B2C community GitHub repo.

0 commit comments

Comments
 (0)