Skip to content

Commit 3532d92

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into how-to-configure-private-endpoints
2 parents ae00ace + ade4272 commit 3532d92

File tree

1,608 files changed

+1358
-1539
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,608 files changed

+1358
-1539
lines changed

.openpublishing.redirection.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43597,6 +43597,21 @@
4359743597
"source_path": "articles/active-directory/develop/app-registrations-training-guide.md",
4359843598
"redirect_url": "articles/active-directory/develop/app-registrations-training-guide-for-app-registrations-legacy-users.md",
4359943599
"redirect_document_id": false
43600+
},
43601+
{
43602+
"source_path": "articles/azure-monitor/app/powershell-script-create-resource.md",
43603+
"redirect_url": "/azure/azure-monitor/app/create-new-resource#creating-a-resource-automatically",
43604+
"redirect_document_id": false
43605+
},
43606+
{
43607+
"source_path": "articles/cognitive-services/translator/how-to-install-containers.md",
43608+
"redirect_url": "/azure/cognitive-services/translator/translator-info-overview",
43609+
"redirect_document_id": false
43610+
},
43611+
{
43612+
"source_path": "articles/cognitive-services/translator/translator-text-container-config.md",
43613+
"redirect_url": "/azure/cognitive-services/translator/translator-info-overview",
43614+
"redirect_document_id": false
4360043615
}
4360143616
]
4360243617
}

articles/active-directory-b2c/TOC.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,9 @@
320320
href: active-directory-b2c-devquickstarts-graph-dotnet.md
321321
- name: Audit logs
322322
href: active-directory-b2c-reference-audit-logs.md
323+
- name: Manage users - Azure portal
324+
href: manage-users-portal.md
325+
displayName: create users, add users, delete users
323326
- name: Secure API Management API
324327
href: secure-api-management.md
325328
displayName: apim, api management, migrate, b2clogin.com
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Create & delete Azure AD B2C consumer user accounts in the Azure portal
3+
description: Learn how to use the Azure portal to create and delete consumer users in your Azure AD B2C directory.
4+
services: active-directory-b2c
5+
author: mmacy
6+
manager: celestedg
7+
8+
ms.service: active-directory
9+
ms.workload: identity
10+
ms.topic: conceptual
11+
ms.date: 11/09/2019
12+
ms.author: marsma
13+
ms.subservice: B2C
14+
---
15+
16+
# Use the Azure portal to create and delete consumer users in Azure AD B2C
17+
18+
There might be scenarios in which you want to manually create consumer accounts in your Azure Active Directory B2C (Azure AD B2C) directory. Although consumer accounts in an Azure AD B2C directory are most commonly created when users sign up to use one of your applications, you can create them programmatically and by using the Azure portal. This article focuses on the Azure portal method of user creation and deletion.
19+
20+
To add or delete users, your account must be assigned the *User administrator* or *Global administrator* role.
21+
22+
[!INCLUDE [active-directory-b2c-public-preview](../../includes/active-directory-b2c-public-preview.md)]
23+
24+
## Types of user accounts
25+
26+
As described in [Overview of user accounts in Azure AD B2C](user-overview.md), there are three types of user accounts that can be created in an Azure AD B2C directory:
27+
28+
* Work
29+
* Guest
30+
* Consumer
31+
32+
This article focuses on working with **consumer accounts** in the Azure portal. For information about creating and deleting Work and Guest accounts, see [Add or delete users using Azure Active Directory](../active-directory/fundamentals/add-users-azure-active-directory.md).
33+
34+
## Create a consumer user
35+
36+
1. Sign in to the [Azure portal](https://portal.azure.com).
37+
1. Select the **Directory + subscription** filter in the top menu, and then select the directory that contains your Azure AD B2C tenant.
38+
1. In the left menu, select **Azure AD B2C**. Or, select **All services** and search for and select **Azure AD B2C**.
39+
1. Under **Manage**, select **Users**.
40+
1. Select **New user**.
41+
1. Select **Create Azure AD B2C user**.
42+
1. Choose a **Sign in method** and enter either an **Email** address or a **Username** for the new user. The sign in method you select here must match the setting you've specified for your Azure AD B2C tenant's *Local account* identity provider (see **Manage** > **Identity providers** in your Azure AD B2C tenant).
43+
1. Enter a **Name** for the user. This is typically the full name (given and surname) of the user.
44+
1. (Optional) You can **Block sign in** if you wish to delay the ability for the user to sign in. You can enable sign in later by editing the user's **Profile** in the Azure portal.
45+
1. Choose **Auto-generate password** or **Let me create password**.
46+
1. Specify the user's **First name** and **Last name**.
47+
1. Select **Create**.
48+
49+
Unless you've selected **Block sign in**, the user can now sign in using the sign in method (email or username) that you specified.
50+
51+
## Delete a consumer user
52+
53+
1. In your Azure AD B2C directory, select **Users**, and then select the user you want to delete.
54+
1. Select **Delete**, and then **Yes** to confirm the deletion.
55+
56+
For details about restoring a user within the first 30 days after deletion, or for permanently deleting a user, see [Restore or remove a recently deleted user using Azure Active Directory](../active-directory/fundamentals/active-directory-users-restore.md).
57+
58+
## Next steps
59+
60+
For automated user management scenarios, for example migrating users from another identity provider to your Azure AD B2C directory, see [Azure AD B2C: User migration](active-directory-b2c-user-migration.md).

articles/active-directory/develop/access-tokens.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,9 @@ Refresh tokens can be invalidated or revoked at any time, for different reasons.
260260
| [Single sign-out](v1-protocols-openid-connect-code.md#single-sign-out) on web | Revoked | Stays alive | Revoked | Stays alive | Stays alive |
261261

262262
> [!NOTE]
263-
> A "Non-password based" login is one where the user didn't type in a password to get it. For example, using your face with Windows Hello, a FIDO key, or a PIN.
263+
> A "Non-password based" login is one where the user didn't type in a password to get it. For example, using your face with Windows Hello, a FIDO2 key, or a PIN.
264264
>
265-
> A known issue exists with the Windows Primary Refresh Token. If the PRT is obtained via a password, and then the user logs in via Hello, this does not change the origination of the PRT, and it will be revoked if the user changes their password.
265+
> Primary Refresh Tokens (PRT) on Windows 10 are segregated based on the credential. For example, Windows Hello and password have their respective PRTs, isolated from one another. When a user signs-in with a Hello credential (PIN or biometrics) and then changes the password, the password based PRT obtained previously will be revoked. Signing back in with a password invalidates the old PRT and requests a new one.
266266
>
267267
> Refresh tokens aren't invalidated or revoked when used to fetch a new access token and refresh token.
268268

articles/active-directory/develop/authentication-scenarios.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ It's up to the app for which the token was generated, the web app that signed-in
7171

7272
Tokens are only valid for a limited amount of time. Usually the STS provides a pair of tokens: an access token to access the application or protected resource, and a refresh token used to refresh the access token when the access token is close to expiring.
7373

74-
Access tokens are passed to a Web API as the bearer token in the `Authenticate` header. An app can provide a refresh token to the STS, and if the user access to the app wasn't revoked, it will get back a new access token and a new refresh token. This is how the scenario of someone leaving the enterprise is handled. When the STS receives the refresh token, it won't issue another valid access token if the user is no longer authorized.
74+
Access tokens are passed to a Web API as the bearer token in the `Authorization` header. An app can provide a refresh token to the STS, and if the user access to the app wasn't revoked, it will get back a new access token and a new refresh token. This is how the scenario of someone leaving the enterprise is handled. When the STS receives the refresh token, it won't issue another valid access token if the user is no longer authorized.
7575

7676
## Application model
7777

articles/active-directory/develop/quickstart-v2-android.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,9 @@ PublicClientApplication.createSingleAccountPublicClientApplication(getContext(),
211211
@Override
212212
public void onCreated(ISingleAccountPublicClientApplication application) {
213213
/**
214-
* This test app assumes that the app is only going to support one account.
215-
* This requires "account_mode" : "SINGLE" in the config json file.
216-
**/
214+
* This test app assumes that the app is only going to support one account.
215+
* This requires "account_mode" : "SINGLE" in the config json file.
216+
**/
217217
mSingleAccountApp = application;
218218
loadAccount();
219219
}
@@ -280,17 +280,17 @@ The code to get a token interactively, that is with UI that will involve the use
280280
* - password change
281281
* - the resource you're acquiring a token for has a stricter set of requirement than your Single Sign-On refresh token.
282282
* - you're introducing a new scope which the user has never consented for.
283-
*/
283+
**/
284284
mSingleAccountApp.acquireToken(getActivity(), getScopes(), getAuthInteractiveCallback());
285285
```
286286
287287
If the user has already signed in, `acquireTokenSilentAsync()` allows apps to request tokens silently as shown in `initializeUI()`, in the `callGraphApiSilentButton` click handler:
288288
289289
```java
290290
/**
291-
* Once you've signed the user in,
292-
* you can perform acquireTokenSilent to obtain resources without interrupting the user.
293-
*/
291+
* Once you've signed the user in,
292+
* you can perform acquireTokenSilent to obtain resources without interrupting the user.
293+
**/
294294
mSingleAccountApp.acquireTokenSilentAsync(getScopes(), AUTHORITY, getAuthSilentCallback());
295295
```
296296
@@ -391,7 +391,7 @@ An example of a multiple account app is a mail app that allows you to work with
391391
In the `MultipleAccountModeFragment.java` file, in `onCreateView()`, a multiple account app object (`IMultipleAccountPublicClientApplication`) is created using the config information stored in the `auth_config_multiple_account.json file`:
392392

393393
```java
394-
// Creates a PublicClientApplication object with res/raw/auth_config_single_account.json
394+
// Creates a PublicClientApplication object with res/raw/auth_config_multiple_account.json
395395
PublicClientApplication.createMultipleAccountPublicClientApplication(getContext(),
396396
R.raw.auth_config_multiple_account,
397397
new IPublicClientApplication.IMultipleAccountApplicationCreatedListener() {
@@ -416,8 +416,8 @@ Multiple account apps usually call `getAccounts()` to select the account to use
416416

417417
```java
418418
/**
419-
* Load currently signed-in accounts, if there's any.
420-
*/
419+
* Load currently signed-in accounts, if there's any.
420+
**/
421421
private void loadAccounts() {
422422
if (mMultipleAccountApp == null) {
423423
return;
@@ -463,7 +463,7 @@ Multiple account apps should typically acquire tokens interactively, that is wit
463463
* - password change
464464
* - the resource you're acquiring a token for has a stricter set of requirement than your SSO refresh token.
465465
* - you're introducing a new scope which the user has never consented for.
466-
*/
466+
**/
467467
mMultipleAccountApp.acquireToken(getActivity(), getScopes(), getAuthInteractiveCallback());
468468
```
469469
@@ -484,12 +484,12 @@ mMultipleAccountApp.acquireTokenSilentAsync(getScopes(),
484484

485485
#### Remove an account
486486

487-
The code to remove an account, and any cached tokens for the account, is in the `MultipleAccountModeFragment.java` file in `initializeUI()` in the handler for the remove account button. Before you can remove an account, you need an account object, which you obtain from MSAL functions like `getAccounts()` and `acquireToken()`. Because removing an account is an asynchronous operation, the `onRemoved` callback is supplied to update the UI.
487+
The code to remove an account, and any cached tokens for the account, is in the `MultipleAccountModeFragment.java` file in `initializeUI()` in the handler for the remove account button. Before you can remove an account, you need an account object, which you obtain from MSAL methods like `getAccounts()` and `acquireToken()`. Because removing an account is an asynchronous operation, the `onRemoved` callback is supplied to update the UI.
488488

489489
```java
490490
/**
491-
* Removes the selected account and cached tokens from this app (or device, if the device is in shared mode).
492-
*/
491+
* Removes the selected account and cached tokens from this app (or device, if the device is in shared mode).
492+
**/
493493
mMultipleAccountApp.removeAccount(accountList.get(accountListSpinner.getSelectedItemPosition()),
494494
new IMultipleAccountPublicClientApplication.RemoveAccountCallback() {
495495
@Override

articles/active-directory/develop/sample-v2-code.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ The following samples show how to protect a web API with the Microsoft identity
102102
| ![This image shows the ASP.NET Core logo](media/sample-v2-code/logo_NETcore.png)</p>ASP.NET Core 2.2 | ASP.NET Core web API (service) of [dotnet-native-aspnetcore-v2](https://aka.ms/msidentity-aspnetcore-webapi-calls-msgraph) |
103103
| ![This image shows the ASP.NET logo](media/sample-v2-code/logo_NET.png)</p>ASP.NET MVC | Web API (service) of [ms-identity-aspnet-webapi-onbehalfof](https://github.com/Azure-Samples/ms-identity-aspnet-webapi-onbehalfof) |
104104

105+
## Azure Functions as web APIs
106+
107+
The following samples show how to protect an Azure Function using HttpTrigger and exposing a web API with the Microsoft identity platform endpoint, and how to call a downstream API from the web API.
108+
109+
| Platform | Sample |
110+
| -------- | ------------------- |
111+
| ![This image shows the ASP.NET Core logo](media/sample-v2-code/logo_NETcore.png)</p>ASP.NET Core 2.2 | ASP.NET Core web API (service) Azure Function of [dotnet-native-aspnetcore-v2](https://github.com/Azure-Samples/ms-identity-dotnet-webapi-azurefunctions) |
112+
| ![This image shows the Node.js logo](media/sample-v2-code/logo_nodejs.png)</p>NodeJS | Web API (service) of [NodeJS and passport-azure-ad](https://github.com/Azure-Samples/ms-identity-nodejs-webapi-azurefunctions) |
113+
| ![This image shows the Python logo](media/sample-v2-code/logo_python.png)</p>Python | Web API (service) of [Python](https://github.com/Azure-Samples/ms-identity-python-webapi-azurefunctions) |
114+
| ![This image shows the Node.js logo](media/sample-v2-code/logo_nodejs.png)</p>NodeJS | Web API (service) of [NodeJS and passport-azure-ad using on behalf of](https://github.com/Azure-Samples/ms-identity-nodejs-webapi-onbehalfof-azurefunctions) |
115+
116+
105117
## Other Microsoft Graph samples
106118

107119
To learn about [samples](https://github.com/microsoftgraph/msgraph-community-samples/tree/master/samples#aspnet) and tutorials that demonstrate different usage patterns for the Microsoft Graph API, including authentication with Azure AD, see [Microsoft Graph Community samples & tutorials](https://github.com/microsoftgraph/msgraph-community-samples).

articles/active-directory/develop/v2-app-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ In addition to simple sign-in, a web server app might need to access another web
8686

8787
## Web APIs
8888

89-
You can use the Microsoft identity platform endpoint to secure web services, such as your app's RESTful Web API. Instead of ID tokens and session cookies, a Web API uses an OAuth 2.0 access token to secure its data and to authenticate incoming requests. The caller of a Web API appends an access token in the authorization header of an HTTP request, like this:
89+
You can use the Microsoft identity platform endpoint to secure web services, such as your app's RESTful Web API. Web APIs can be implemented in numerous platforms and languages. They can also be implemented using HTTP Triggers in Azure Functions. Instead of ID tokens and session cookies, a Web API uses an OAuth 2.0 access token to secure its data and to authenticate incoming requests. The caller of a Web API appends an access token in the authorization header of an HTTP request, like this:
9090

9191
```
9292
GET /api/items HTTP/1.1

articles/active-directory/develop/v2-permissions-and-consent.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,18 +183,18 @@ When you're ready to request permissions from your organization's admin, you can
183183

184184
```
185185
// Line breaks are for legibility only.
186-
GET https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?
186+
GET https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?
187187
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
188188
&state=12345
189189
&redirect_uri=http://localhost/myapp/permissions
190-
&scope=
191-
https://graph.microsoft.com/calendars.read
192-
https://graph.microsoft.com/mail.send
190+
&scope=
191+
https://graph.microsoft.com/calendars.read
192+
https://graph.microsoft.com/mail.send
193193
```
194194

195195

196196
| Parameter | Condition | Description |
197-
|--------------:|--------------:|:-----------------------------------------------------------------------------------------:|
197+
|:--------------|:--------------|:-----------------------------------------------------------------------------------------|
198198
| `tenant` | Required | The directory tenant that you want to request permission from. Can be provided in GUID or friendly name format OR generically referenced with `common` as seen in the example. |
199199
| `client_id` | Required | The **Application (client) ID** that the [Azure portal – App registrations](https://go.microsoft.com/fwlink/?linkid=2083908) experience assigned to your app. |
200200
| `redirect_uri` | Required |The redirect URI where you want the response to be sent for your app to handle. It must exactly match one of the redirect URIs that you registered in the app registration portal. |

articles/active-directory/develop/v2-supported-account-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ In the Microsoft Azure public Cloud, most types of apps can sign in users with a
3737
- With their work or school or personal Microsoft account.
3838
- With only personal Microsoft account.
3939
> [!NOTE]
40-
> Currently the Microsoft identity platform supports personal Microsoft accounts only by registering an app for **work or school or Microsoft personal accounts**, and then, restrict sign-in in the code for the application by specifying an Azure AD authority, when building the application, such as `https://login.onmicrosoftonline.com/consumers`.
40+
> Currently the Microsoft identity platform supports personal Microsoft accounts only by registering an app for **work or school or Microsoft personal accounts**, and then, restrict sign-in in the code for the application by specifying an Azure AD authority, when building the application, such as `https://login.microsoftonline.com/consumers`.
4141
4242
- If you're writing a business to consumers application, you can also sign in users with their social identities, using Azure AD B2C.
4343

@@ -57,4 +57,4 @@ Some account types can't be used with certain authentication flows. For instance
5757
## Next steps
5858

5959
- Learn more about [Tenancy in Azure Active Directory](./single-and-multi-tenant-apps.md)
60-
- Learn more about [National Clouds](./authentication-national-cloud.md)
60+
- Learn more about [National Clouds](./authentication-national-cloud.md)

0 commit comments

Comments
 (0)