Skip to content

Commit 5a38b88

Browse files
authored
Merge branch 'master' into patch-1
2 parents 1f4d30e + be6c819 commit 5a38b88

File tree

1,749 files changed

+16331
-16285
lines changed

Some content is hidden

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

1,749 files changed

+16331
-16285
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ _themes.MSDN.Modern/
2020
_themes.VS.Modern/
2121
articles/directories.txt
2222
AzureMigration.ps1
23+
24+
!/.vscode/extensions.json

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,12 @@
295295
"url": "https://github.com/Azure-Samples/cognitive-services-content-moderator-samples",
296296
"branch": "master",
297297
"branch_mapping": {}
298+
},
299+
{
300+
"path_to_root": "samples-eCommerceCatalogModeration",
301+
"url": "https://github.com/MicrosoftContentModerator/samples-eCommerceCatalogModeration",
302+
"branch": "master",
303+
"branch_mapping": {}
298304
}
299305
],
300306
"branch_target_mapping": {

.openpublishing.redirection.json

Lines changed: 500 additions & 70 deletions
Large diffs are not rendered by default.

.vscode/extensions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"docsmsft.docs-authoring-pack"
4+
]
5+
}

articles/active-directory-b2c/TOC.yml

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,22 @@
8686
href: active-directory-b2c-reference-mfa.md
8787
- name: Identity Experience Framework
8888
items:
89-
- name: Create a custom policy
90-
href: active-directory-b2c-get-started-custom.md
9189
- name: Collect logs using Application Insights
9290
href: active-directory-b2c-troubleshoot-custom.md
91+
- name: Configure user input
92+
href: active-directory-b2c-configure-signup-self-asserted-custom.md
93+
- name: Create a custom policy
94+
href: active-directory-b2c-get-started-custom.md
95+
- name: Customize the UI
96+
href: active-directory-b2c-ui-customization-custom.md
97+
- name: Customize the UI dynamically
98+
href: active-directory-b2c-ui-customization-custom-dynamic.md
99+
- name: Customize tokens
100+
href: active-directory-b2c-reference-manage-sso-and-token-configuration.md
101+
- name: Define custom attributes
102+
href: active-directory-b2c-create-custom-attributes-profile-edit-custom.md
103+
- name: Enable keep me signed in
104+
href: active-directory-b2c-reference-kmsi-custom.md
93105
- name: Integrate RESTful APIs
94106
items:
95107
- name: Validate user input
@@ -122,6 +134,10 @@
122134
href: page-contract.md
123135
- name: Pass through access token
124136
href: idp-pass-through-custom.md
137+
- name: Password complexity
138+
href: active-directory-b2c-reference-password-complexity-custom.md
139+
- name: Password change
140+
href: active-directory-b2c-reference-password-change-custom.md
125141
- name: SAML providers
126142
items:
127143
- name: ADFS
@@ -130,24 +146,6 @@
130146
href: active-directory-b2c-setup-sf-app-custom.md
131147
- name: Track user behavior
132148
href: active-directory-b2c-custom-guide-eventlogger-appins.md
133-
- name: User flows
134-
items:
135-
- name: Configure user input
136-
href: active-directory-b2c-configure-signup-self-asserted-custom.md
137-
- name: Custom attributes
138-
href: active-directory-b2c-create-custom-attributes-profile-edit-custom.md
139-
- name: Customize the UI
140-
href: active-directory-b2c-ui-customization-custom.md
141-
- name: Customize the UI dynamically
142-
href: active-directory-b2c-ui-customization-custom-dynamic.md
143-
- name: Customize tokens
144-
href: active-directory-b2c-reference-manage-sso-and-token-configuration.md
145-
- name: Password complexity
146-
href: active-directory-b2c-reference-password-complexity-custom.md
147-
- name: Password change
148-
href: active-directory-b2c-reference-password-change-custom.md
149-
- name: Enable keep me signed in
150-
href: active-directory-b2c-reference-kmsi-custom.md
151149
- name: Reference
152150
items:
153151
- name: Claim resolvers

articles/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw-secure-cert.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ To support client certificate authentication in your custom policy, change the t
148148
>If you receive the error message, *The name is not valid, please provide a valid name*, it means that Azure AD B2C successfully called your RESTful service while it presented the client certificate. The next step is to validate the certificate.
149149
150150
## Step 6: Add certificate validation
151-
The client certificate that Azure AD B2C sends to your RESTful service does not undergo validation by the Azure Web Apps platform, except to check whether the certificate exists. Validating the certificate is the responsibility of the web app.
151+
The client certificate that Azure AD B2C sends to your RESTful service does not undergo validation by the Azure App Service platform, except to check whether the certificate exists. Validating the certificate is the responsibility of the web app.
152152
153153
In this section, you add sample ASP.NET code that validates the certificate properties for authentication purposes.
154154

articles/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -256,40 +256,40 @@ Locate the `<ClaimsProviders>` node, and then add the following XML snippet unde
256256

257257
```xml
258258
<ClaimsProvider>
259-
<DisplayName>REST APIs</DisplayName>
260-
<TechnicalProfiles>
259+
<DisplayName>REST APIs</DisplayName>
260+
<TechnicalProfiles>
261261

262262
<!-- Custom Restful service -->
263263
<TechnicalProfile Id="REST-API-SignUp">
264-
<DisplayName>Validate user's input data and return loyaltyNumber claim</DisplayName>
265-
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
266-
<Metadata>
264+
<DisplayName>Validate user's input data and return loyaltyNumber claim</DisplayName>
265+
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
266+
<Metadata>
267267
<Item Key="ServiceUrl">https://your-app-name.azurewebsites.NET/api/identity/signup</Item>
268268
<Item Key="AuthenticationType">None</Item>
269269
<Item Key="SendClaimsIn">Body</Item>
270-
</Metadata>
271-
<InputClaims>
270+
<Item Key="AllowInsecureAuthInProduction">true</Item>
271+
</Metadata>
272+
<InputClaims>
272273
<InputClaim ClaimTypeReferenceId="email" />
273274
<InputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName" />
274275
<InputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName" />
275-
</InputClaims>
276-
<OutputClaims>
276+
</InputClaims>
277+
<OutputClaims>
277278
<OutputClaim ClaimTypeReferenceId="loyaltyNumber" PartnerClaimType="loyaltyNumber" />
278-
</OutputClaims>
279-
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
279+
</OutputClaims>
280+
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
280281
</TechnicalProfile>
281282

282-
<!-- Change LocalAccountSignUpWithLogonEmail technical profile to support your validation technical profile -->
283+
<!-- Change LocalAccountSignUpWithLogonEmail technical profile to support your validation technical profile -->
283284
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
284-
<OutputClaims>
285+
<OutputClaims>
285286
<OutputClaim ClaimTypeReferenceId="loyaltyNumber" PartnerClaimType="loyaltyNumber" />
286-
</OutputClaims>
287-
<ValidationTechnicalProfiles>
287+
</OutputClaims>
288+
<ValidationTechnicalProfiles>
288289
<ValidationTechnicalProfile ReferenceId="REST-API-SignUp" />
289-
</ValidationTechnicalProfiles>
290+
</ValidationTechnicalProfiles>
290291
</TechnicalProfile>
291-
292-
</TechnicalProfiles>
292+
</TechnicalProfiles>
293293
</ClaimsProvider>
294294
```
295295

articles/active-directory-b2c/active-directory-b2c-devquickstarts-native-dotnet.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ ms.component: B2C
1717
By using Azure Active Directory (Azure AD) B2C, you can add powerful self-service identity management features to your desktop app in a few short steps. This article will show you how to create a .NET Windows Presentation Foundation (WPF) "to-do list" app that includes user sign-up, sign-in, and profile management. The app will include support for sign-up and sign-in by using a user name or email. It will also include support for sign-up and sign-in by using social accounts such as Facebook and Google.
1818

1919
## Get an Azure AD B2C directory
20-
Before you can use Azure AD B2C, you must create a directory, or tenant. A directory is a container for all of your users, apps, groups, and more. If you don't have one already, [create a B2C directory](active-directory-b2c-get-started.md) before you continue in this guide.
20+
Before you can use Azure AD B2C, you must create a directory, or tenant. A directory is a container for all of your users, apps, groups, and more. If you don't have one already, [create a B2C directory](active-directory-b2c-get-started.md) before you continue in this guide.
2121

2222
## Create an application
23-
Next, you need to create an app in your B2C directory. This gives Azure AD information that it needs to securely communicate with your app. To create an app, follow [these instructions](active-directory-b2c-app-registration.md). Be sure to:
23+
Next, you need to create an app in your B2C directory. This gives Azure AD information that it needs to securely communicate with your app. To create an app, follow [these instructions](active-directory-b2c-app-registration.md). Be sure to:
2424

2525
* Include a **native client** in the application.
2626
* Copy the **Redirect URI** `urn:ietf:wg:oauth:2.0:oob`. It is the default URL for this code sample.
@@ -33,7 +33,7 @@ In Azure AD B2C, every user experience is defined by a [policy](active-directory
3333
* Choose either **User ID sign-up** or **Email sign-up** in the identity providers blade.
3434
* Choose **Display name** and other sign-up attributes in your sign-up policy.
3535
* Choose **Display name** and **Object ID** claims as application claims for every policy. You can choose other claims as well.
36-
* Copy the **Name** of each policy after you create it. It should have the prefix `b2c_1_`. You'll need these policy names later.
36+
* Copy the **Name** of each policy after you create it. It should have the prefix `b2c_1_`. You'll need these policy names later.
3737

3838
[!INCLUDE [active-directory-b2c-devquickstarts-policy](../../includes/active-directory-b2c-devquickstarts-policy.md)]
3939

@@ -48,7 +48,7 @@ git clone --branch skeleton https://github.com/AzureADQuickStarts/B2C-NativeClie
4848

4949
The completed app is also [available as a .zip file](https://github.com/AzureADQuickStarts/B2C-NativeClient-DotNet/archive/complete.zip) or on the `complete` branch of the same repository.
5050

51-
After you download the sample code, open the Visual Studio .sln file to get started. The `TaskClient` project is the WPF desktop application that the user interacts with. For the purposes of this tutorial, it calls a back-end task web API, hosted in Azure, that stores each user's to-do list. You do not need to build the web API, we already have it running for you.
51+
After you download the sample code, open the Visual Studio .sln file to get started. The `TaskClient` project is the WPF desktop application that the user interacts with. For the purposes of this tutorial, it calls a back-end task web API, hosted in Azure, that stores each user's to-do list. You do not need to build the web API, we already have it running for you.
5252

5353
To learn how a web API securely authenticates requests by using Azure AD B2C, check out the
5454
[web API getting started article](active-directory-b2c-devquickstarts-api-dotnet.md).
@@ -94,7 +94,7 @@ protected async override void OnInitialized(EventArgs e)
9494

9595
pca = new PublicClientApplication(Globals.clientId)
9696
{
97-
// MSAL implements an in-memory cache by default. Since we want tokens to persist when the user closes the app,
97+
// MSAL implements an in-memory cache by default. Since we want tokens to persist when the user closes the app,
9898
// we've extended the MSAL TokenCache and created a simple FileCache in this app.
9999
UserTokenCache = new FileCache(),
100100
};
@@ -113,7 +113,7 @@ private async void SignUp(object sender, RoutedEventArgs e)
113113
{
114114
// Use the app's clientId here as the scope parameter, indicating that
115115
// you want a token to the your app's backend web API (represented by
116-
// the cloud hosted task API). Use the UiOptions.ForceLogin flag to
116+
// the cloud hosted task API). Use the UiOptions.ForceLogin flag to
117117
// indicate to MSAL that it should show a sign-up UI no matter what.
118118
result = await pca.AcquireTokenAsync(new string[] { Globals.clientId },
119119
string.Empty, UiOptions.ForceLogin, null, null, Globals.authority,
@@ -185,7 +185,7 @@ private async void EditProfile(object sender, RoutedEventArgs e)
185185
In all of these cases, MSAL either returns a token in `AuthenticationResult` or throws an exception. Each time you get a token from MSAL, you can use the `AuthenticationResult.User` object to update the user data in the app, such as the UI. ADAL also caches the token for use in other parts of the application.
186186

187187
### Check for tokens on app start
188-
You can also use MSAL to keep track of the user's sign-in state. In this app, we want the user to remain signed in even after they close the app & re-open it. Back inside the `OnInitialized` override, use MSAL's `AcquireTokenSilent` method to check for cached tokens:
188+
You can also use MSAL to keep track of the user's sign-in state. In this app, we want the user to remain signed in even after they close the app and re-open it. Back inside the `OnInitialized` override, use MSAL's `AcquireTokenSilent` method to check for cached tokens:
189189

190190
```csharp
191191
AuthenticationResult result = null;
@@ -207,7 +207,7 @@ catch (MsalException ex)
207207
{
208208
if (ex.ErrorCode == "failed_to_acquire_token_silently")
209209
{
210-
// There are no tokens in the cache. Proceed without calling the To Do list service.
210+
// There are no tokens in the cache. Proceed without calling the To Do list service.
211211
}
212212
else
213213
{
@@ -224,7 +224,7 @@ catch (MsalException ex)
224224
```
225225

226226
## Call the task API
227-
You have now used MSAL to execute policies and get tokens. When you want to use one these tokens to call the task API, you can again use MSAL's `AcquireTokenSilent` method to check for cached tokens:
227+
You have now used MSAL to execute policies and get tokens. When you want to use one these tokens to call the task API, you can again use MSAL's `AcquireTokenSilent` method to check for cached tokens:
228228

229229
```csharp
230230
private async void GetTodoList()
@@ -282,7 +282,7 @@ When the call to `AcquireTokenSilentAsync(...)` succeeds and a token is found in
282282
```
283283

284284
## Sign the user out
285-
Finally, you can use MSAL to end a user's session with the app when the user selects **Sign out**. When using MSAL, this is accomplished by clearing all of the tokens from the token cache:
285+
Finally, you can use MSAL to end a user's session with the app when the user selects **Sign out**. When using MSAL, this is accomplished by clearing all of the tokens from the token cache:
286286

287287
```csharp
288288
private void SignOut(object sender, RoutedEventArgs e)
@@ -304,7 +304,7 @@ private void SignOut(object sender, RoutedEventArgs e)
304304
```
305305

306306
## Run the sample app
307-
Finally, build and run the sample. Sign up for the app by using an email address or user name. Sign out and sign back in as the same user. Edit that user's profile. Sign out and sign up by using a different user.
307+
Finally, build and run the sample. Sign up for the app by using an email address or user name. Sign out and sign back in as the same user. Edit that user's profile. Sign out and sign up by using a different user.
308308

309309
## Add social IDPs
310310
Currently, the app supports only user sign-up and sign-in that use **local accounts**. These are accounts stored in your B2C directory that use a user name and password. By using Azure AD B2C, you can add support for other identity providers (IDPs) without changing any of your code.

0 commit comments

Comments
 (0)