Skip to content

Commit 5429e16

Browse files
authored
Merge branch 'master' into patch-1
2 parents 149e489 + 2ad5107 commit 5429e16

File tree

6,019 files changed

+92058
-59436
lines changed

Some content is hidden

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

6,019 files changed

+92058
-59436
lines changed

.openpublishing.redirection.json

Lines changed: 1060 additions & 259 deletions
Large diffs are not rendered by default.

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
# articles/virtual-machines/windows/ @iainfoulds @cynthn
66
# articles/application-insights/ @SergeyKanzhelev
77
# articles/cosmos-db/ @mimig1
8+
articles/cognitive-services/ @nitinme @tchristiani @cjgronlund

articles/active-directory-b2c/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,8 @@
261261
href: https://azure.microsoft.com/roadmap/?category=security-identity
262262
- name: Frequently asked questions
263263
href: active-directory-b2c-faqs.md
264+
- name: Getting help
265+
href: /azure/active-directory/develop/developer-support-help-options
264266
- name: Pricing
265267
href: https://azure.microsoft.com/pricing/details/active-directory-b2c/
266268
- name: Pricing calculator

articles/active-directory-b2c/active-directory-b2c-apps.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,13 @@ Learn more about the types of tokens and claims available to an application in t
5656

5757
In a web application, each execution of a [policy](active-directory-b2c-reference-policies.md) takes these high-level steps:
5858

59-
![Web App Swimlanes Image](./media/active-directory-b2c-apps/webapp.png)
59+
1. The user browses to the web application.
60+
2. The web application redirects the user to Azure AD B2C indicating the policy to execute.
61+
3. The user completes policy.
62+
4. Azure AD B2C returns an `id_token` to the browser.
63+
5. The `id_token` is posted to the redirect URI.
64+
6. The `id_token` is validated and a session cookie is set.
65+
7. A secure page is returned to the user.
6066

6167
Validation of the `id_token` by using a public signing key that is received from Azure AD is sufficient to verify the identity of the user. This also sets a session cookie that can be used to identify the user on subsequent page requests.
6268

@@ -85,7 +91,15 @@ The web API can then use the token to verify the API caller's identity and to ex
8591
8692
A web API can receive tokens from many types of clients, including web applications, desktop and mobile applications, single page applications, server-side daemons, and other web APIs. Here's an example of the complete flow for a web application that calls a web API:
8793

88-
![Web App Web API Swimlanes Image](./media/active-directory-b2c-apps/webapi.png)
94+
1. The web application executes a policy and the user completes the user experience.
95+
2. Azure AD B2C returns an `access_token` and an authorization code to the browser.
96+
3. The browser posts the `access_token` and authorization code to the redirect URI.
97+
4. The web server validates the `access token` and sets a session cookie.
98+
5. The `access_token` is provided to Azure AD B2C with the authorization code, application client ID, and credentials.
99+
6. The `access_token` and `refresh_token` are returned to the web server.
100+
7. The web API is called with the `access_token` in an authorization header.
101+
8. The web API validates the token.
102+
9. Secure data is returned to the web server.
89103

90104
To learn more about authorization codes, refresh tokens, and the steps for getting tokens, read about the [OAuth 2.0 protocol](active-directory-b2c-reference-oauth-code.md).
91105

@@ -102,8 +116,6 @@ In this flow, the application executes [policies](active-directory-b2c-reference
102116
>
103117
>
104118
105-
![Native App Swimlanes Image](./media/active-directory-b2c-apps/native.png)
106-
107119
## Current limitations
108120

109121
Azure AD B2C does not currently support the following types of apps, but they are on the roadmap.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Azure Active Directory (Azure AD) B2C tenants tend to be very large. This means
2323
For B2C tenants, there are two primary modes of communicating with the Graph API.
2424

2525
* For interactive, run-once tasks, you should act as an administrator account in the B2C tenant when you perform the tasks. This mode requires an administrator to sign in with credentials before that admin can perform any calls to the Graph API.
26-
* For automated, continuous tasks, you should use some type of service account that you provide with the necessary privileges to perform management tasks. In Azure AD, you can do this by registering an application and authenticating to Azure AD. This is done by using an **Application ID** that uses the [OAuth 2.0 client credentials grant](../active-directory/develop/active-directory-authentication-scenarios.md#daemon-or-server-application-to-web-api). In this case, the application acts as itself, not as a user, to call the Graph API.
26+
* For automated, continuous tasks, you should use some type of service account that you provide with the necessary privileges to perform management tasks. In Azure AD, you can do this by registering an application and authenticating to Azure AD. This is done by using an **Application ID** that uses the [OAuth 2.0 client credentials grant](../active-directory/develop/authentication-scenarios.md#daemon-or-server-application-to-web-api). In this case, the application acts as itself, not as a user, to call the Graph API.
2727

2828
In this article, you learn how to perform the automated-use case. You'll build a .NET 4.5 `B2CGraphClient` that performs user create, read, update, and delete (CRUD) operations. The client will have a Windows command-line interface (CLI) that allows you to invoke various methods. However, the code is written to behave in a noninteractive, automated fashion.
2929

articles/active-directory-b2c/active-directory-b2c-reference-oauth-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ and other identity management tasks to your mobile and desktop apps. This articl
1919

2020
<!-- TODO: Need link to libraries -->
2121

22-
The OAuth 2.0 authorization code flow is described in [section 4.1 of the OAuth 2.0 specification](http://tools.ietf.org/html/rfc6749). You can use it for authentication and authorization in most [application types](active-directory-b2c-apps.md), including web applications and natively installed applications. You can use the OAuth 2.0 authorization code flow to securely acquire access tokens for your applicationss, which can be used to access resources that are secured by an [authorization server](active-directory-b2c-reference-protocols.md).
22+
The OAuth 2.0 authorization code flow is described in [section 4.1 of the OAuth 2.0 specification](http://tools.ietf.org/html/rfc6749). You can use it for authentication and authorization in most [application types](active-directory-b2c-apps.md), including web applications and natively installed applications. You can use the OAuth 2.0 authorization code flow to securely acquire access tokens and refresh tokens for your applications, which can be used to access resources that are secured by an [authorization server](active-directory-b2c-reference-protocols.md). The refresh token allows the client to acquire new access (and refresh) tokens once the access token expires, typically after one hour.
2323

2424
This article focuses on the **public clients** OAuth 2.0 authorization code flow. A public client is any client application that cannot be trusted to securely maintain the integrity of a secret password. This includes mobile apps, desktop applications, and essentially any application that runs on a device and needs to get access tokens.
2525

articles/active-directory-b2c/active-directory-b2c-reference-threat-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ Azure AD B2C uses detection and mitigation techniques like SYN cookies, and rate
2424

2525
Azure AD B2C also has mitigation techniques in place for password attacks. Mitigation includes brute-force password attacks and dictionary password attacks. Passwords that are set by users are required to be reasonably complex. By using various signals, Azure AD B2C analyzes the integrity of requests. Azure AD B2C is designed to intelligently differentiate intended users from hackers and botnets. Azure AD B2C provides a sophisticated strategy to lock accounts based on the passwords entered, in the likelihood of an attack.
2626

27-
For more information, visit the [Microsoft Trust Center](https://www.microsoft.com/en-us/trustcenter/default.aspx).
27+
For more information, visit the [Microsoft Trust Center](https://www.microsoft.com/trustcenter/default.aspx).

articles/active-directory-b2c/active-directory-b2c-setup-aad-custom.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: mtillman
88
ms.service: active-directory
99
ms.workload: identity
1010
ms.topic: conceptual
11-
ms.date: 04/04/2017
11+
ms.date: 08/15/2018
1212
ms.author: davidmu
1313
ms.component: B2C
1414
---
@@ -109,7 +109,7 @@ You can define Azure AD as a claims provider by adding Azure AD to the `<ClaimsP
109109
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
110110
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
111111
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
112-
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="contosoAuthentication" />
112+
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
113113
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="AzureADContoso" />
114114
</OutputClaims>
115115
<OutputClaimsTransformations>

articles/active-directory-b2c/active-directory-b2c-setup-sf-app-custom.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: mtillman
88
ms.service: active-directory
99
ms.workload: identity
1010
ms.topic: conceptual
11-
ms.date: 06/11/2017
11+
ms.date: 08/15/2018
1212
ms.author: davidmu
1313
ms.component: B2C
1414
---
@@ -146,7 +146,7 @@ You need to define Salesforce as a claims provider so users can sign in by using
146146
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/>
147147
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email"/>
148148
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="username"/>
149-
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="externalIdp"/>
149+
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication"/>
150150
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="SAMLIdp" />
151151
</OutputClaims>
152152
<OutputClaimsTransformations>

articles/active-directory-b2c/active-directory-b2c-tutorials-desktop-app-webapi.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ In this tutorial, you learn how to:
3535

3636
## Register web API
3737

38-
Web API resources need to be registered in your tenant before they can accept and respond to [protected resource requests](../active-directory/develop/active-directory-dev-glossary.md#resource-server) by [client applications](../active-directory/develop/active-directory-dev-glossary.md#client-application) that present an [access token](../active-directory/develop/active-directory-dev-glossary.md#access-token) from Azure Active Directory. Registration establishes the [application and service principal object](../active-directory/develop/active-directory-dev-glossary.md#application-object) in your tenant.
38+
Web API resources need to be registered in your tenant before they can accept and respond to [protected resource requests](../active-directory/develop/developer-glossary.md#resource-server) by [client applications](../active-directory/develop/developer-glossary.md#client-application) that present an [access token](../active-directory/develop/developer-glossary.md#access-token) from Azure Active Directory. Registration establishes the [application and service principal object](../active-directory/develop/developer-glossary.md#application-object) in your tenant.
3939

4040
Log in to the [Azure portal](https://portal.azure.com/) as the global administrator of your Azure AD B2C tenant.
4141

@@ -55,7 +55,7 @@ Log in to the [Azure portal](https://portal.azure.com/) as the global administra
5555
| **Include web app / web API** | Yes | Select **Yes** for a web API. |
5656
| **Allow implicit flow** | Yes | Select **Yes** since the API uses [OpenID Connect sign-in](active-directory-b2c-reference-oidc.md). |
5757
| **Reply URL** | `http://localhost:5000` | Reply URLs are endpoints where Azure AD B2C returns any tokens that your API requests. In this tutorial, the sample web API runs locally (localhost) and listens on port 5000. |
58-
| **App ID URI** | demoapi | The URI uniquely identifies the API in the tenant. This allows you to register multiple APIs per tenant. [Scopes](../active-directory/develop/active-directory-dev-glossary.md#scopes) govern access to the protected API resource and are defined per App ID URI. |
58+
| **App ID URI** | demoapi | The URI uniquely identifies the API in the tenant. This allows you to register multiple APIs per tenant. [Scopes](../active-directory/develop/developer-glossary.md#scopes) govern access to the protected API resource and are defined per App ID URI. |
5959
| **Native client** | No | Since this is a web API and not a native client, select No. |
6060

6161
3. Click **Create** to register your API.
@@ -70,7 +70,7 @@ Registering your web API with Azure AD B2C defines a trust relationship. Since t
7070

7171
## Define and configure scopes
7272

73-
[Scopes](../active-directory/develop/active-directory-dev-glossary.md#scopes) provide a way to govern access to protected resources. Scopes are used by the web API to implement scope-based access control. For example, some users could have both read and write access, whereas other users might have read-only permissions. In this tutorial, you define read and write permissions for the web API.
73+
[Scopes](../active-directory/develop/developer-glossary.md#scopes) provide a way to govern access to protected resources. Scopes are used by the web API to implement scope-based access control. For example, some users could have both read and write access, whereas other users might have read-only permissions. In this tutorial, you define read and write permissions for the web API.
7474

7575
### Define scopes for the web API
7676

@@ -106,7 +106,7 @@ To call a protected web API from an app, you need to grant your app permissions
106106

107107
5. Click **OK**.
108108

109-
Your **My Sample WPF App** is registered to call the protected **My sample Node.js web API**. A user [authenticates](../active-directory/develop/active-directory-dev-glossary.md#authentication) with Azure AD B2C to use the WPF deskop app app. The desktop app obtains an [authorization grant](../active-directory/develop/active-directory-dev-glossary.md#authorization-grant) from Azure AD B2C to access the protected web API.
109+
Your **My Sample WPF App** is registered to call the protected **My sample Node.js web API**. A user [authenticates](../active-directory/develop/developer-glossary.md#authentication) with Azure AD B2C to use the WPF deskop app app. The desktop app obtains an [authorization grant](../active-directory/develop/developer-glossary.md#authorization-grant) from Azure AD B2C to access the protected web API.
110110

111111
## Update web API code
112112

0 commit comments

Comments
 (0)