Skip to content

Commit 46590bb

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into robinsh-message-enrichments-ignite
2 parents 8508b5a + b61dff4 commit 46590bb

File tree

4,269 files changed

+68748
-41567
lines changed

Some content is hidden

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

4,269 files changed

+68748
-41567
lines changed

.openpublishing.publish.config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,11 @@
377377
"url": "https://github.com/microsoft/immersive-reader-sdk",
378378
"branch": "master",
379379
"branch_mapping": {}
380+
},
381+
{
382+
"path_to_root": "azure-cosmosdb-java-v2",
383+
"url": "https://github.com/Azure/azure-cosmosdb-java",
384+
"branch": "master"
380385
}
381386
],
382387
"branch_target_mapping": {

.openpublishing.redirection.json

Lines changed: 913 additions & 58 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/active-directory-b2c-how-to-enable-billing.md

Lines changed: 85 additions & 45 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/active-directory-b2c-quickstarts-spa.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ Azure Active Directory B2C (Azure AD B2C) provides cloud identity management to
2121

2222
## Prerequisites
2323

24-
- [Visual Studio 2019](https://www.visualstudio.com/downloads/) with the **ASP.NET and web development** workload.
25-
- Install [Node.js](https://nodejs.org/en/download/)
26-
- A social account from either Facebook, Google, or Microsoft.
27-
- [Download a zip file](https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp/archive/master.zip) or clone the sample web app from GitHub.
24+
- [Visual Studio 2019](https://www.visualstudio.com/downloads/) with the **ASP.NET and web development** workload
25+
- [Node.js](https://nodejs.org/en/download/)
26+
- Social account from Facebook, Google, or Microsoft
27+
- Code sample from GitHub: [active-directory-b2c-javascript-msal-singlepageapp](https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp)
28+
29+
You can [download the zip archive](https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp/archive/master.zip) or clone the repository:
2830

2931
```
3032
git clone https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp.git

articles/active-directory-b2c/active-directory-b2c-reference-oidc.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ grant_type=authorization_code&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6&sco
145145
| {tenant} | Yes | Name of your Azure AD B2C tenant |
146146
| {policy} | Yes | The user flow that was used to acquire the authorization code. You can't use a different user flow in this request. Add this parameter to the query string, not to the POST body. |
147147
| client_id | Yes | The application ID that the [Azure portal](https://portal.azure.com/) assigned to your application. |
148-
| client_secret | Yes | The application secret that was generated in the [Azure portal](https://portal.azure.com/). This application secret is an important security artifact. You should store it securely on your server. Change this client secret on a periodic basis. |
148+
| client_secret | Yes, in Web Apps | The application secret that was generated in the [Azure portal](https://portal.azure.com/). Client secrets are used in this flow for Web App scenarios, where the client can securely store a client secret. For Native App (public client) scenarios, client secrets cannot be securely stored, threfore not used on this flow. If using a client secret, please change it on a periodic basis. |
149149
| code | Yes | The authorization code that you acquired in the beginning of the user flow. |
150150
| grant_type | Yes | The type of grant, which must be `authorization_code` for the authorization code flow. |
151151
| redirect_uri | Yes | The `redirect_uri` parameter of the application where you received the authorization code. |
@@ -206,15 +206,15 @@ POST {tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
206206
Host: {tenant}.b2clogin.com
207207
Content-Type: application/x-www-form-urlencoded
208208
209-
grant_type=refresh_token&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6&scope=openid offline_access&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...&redirect_uri=urn:ietf:wg:oauth:2.0:oob&client_secret=<your-application-secret>
209+
grant_type=refresh_token&client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6&scope=openid offline_access&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...&redirect_uri=urn:ietf:wg:oauth:2.0:oob
210210
```
211211

212212
| Parameter | Required | Description |
213213
| --------- | -------- | ----------- |
214214
| {tenant} | Yes | Name of your Azure AD B2C tenant |
215215
| {policy} | Yes | The user flow that was used to acquire the original refresh token. You can't use a different user flow in this request. Add this parameter to the query string, not to the POST body. |
216216
| client_id | Yes | The application ID that the [Azure portal](https://portal.azure.com/) assigned to your application. |
217-
| client_secret | Yes | The application secret that was generated in the [Azure portal](https://portal.azure.com/). This application secret is an important security artifact. You should store it securely on your server. Change this client secret on a periodic basis. |
217+
| client_secret | Yes, in Web Apps | The application secret that was generated in the [Azure portal](https://portal.azure.com/). Client secrets are used in this flow for Web App scenarios, where the client can securely store a client secret. For Native App (public client) scenarios, client secrets cannot be securely stored, threfore not used on this call. If using a client secret, please change it on a periodic basis. |
218218
| grant_type | Yes | The type of grant, which must be a refresh token for this part of the authorization code flow. |
219219
| refresh_token | Yes | The original refresh token that was acquired in the second part of the flow. The `offline_access` scope must be used in both the authorization and token requests in order to receive a refresh token. |
220220
| redirect_uri | No | The `redirect_uri` parameter of the application where you received the authorization code. |

articles/active-directory-b2c/active-directory-b2c-reference-spa.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
167167
| response_type |Required |Must include `id_token` for OpenID Connect sign-in. It might also include the response type `token`. If you use `token` here, your app can immediately receive an access token from the authorize endpoint, without making a second request to the authorize endpoint. If you use the `token` response type, the `scope` parameter must contain a scope that indicates which resource to issue the token for. |
168168
| redirect_uri |Recommended |The redirect URI of your app, where authentication responses can be sent and received by your app. It must exactly match one of the redirect URIs you registered in the portal, except that it must be URL-encoded. |
169169
| scope |Required |A space-separated list of scopes. For getting tokens, include all scopes that you require for the intended resource. |
170-
| response_mode |Recommended |Specifies the method that is used to send the resulting token back to your app. Can be `query`, `form_post`, or `fragment`. |
170+
| response_mode |Recommended |Specifies the method that is used to send the resulting token back to your app. For implicit flow, use `fragment`. Two other modes can be specified, `query` and `form_post`, but do not work in the implicit flow. |
171171
| state |Recommended |A value included in the request that is returned in the token response. It can be a string of any content that you want to use. Usually, a randomly generated, unique value is used, to prevent cross-site request forgery attacks. The state also is used to encode information about the user's state in the app before the authentication request occurred. For example, the page or view the user was on. |
172172
| nonce |Required |A value included in the request, generated by the app, that is included in the resulting ID token as a claim. The app can then verify this value to mitigate token replay attacks. Usually, the value is a randomized, unique string that identifies the origin of the request. |
173173
| prompt |Required |To refresh and get tokens in a hidden iframe, use `prompt=none` to ensure that the iframe does not get stuck on the sign-in page, and returns immediately. |
@@ -246,4 +246,4 @@ This sample on GitHub is intended to help get you started with Azure AD B2C in a
246246

247247
<!-- Links - EXTERNAL -->
248248
[github-hello-js-example]: https://github.com/azure-ad-b2c/apps/tree/master/spa/javascript-hellojs-singlepageapp-popup
249-
[github-hello-js]: https://github.com/MrSwitch/hello.js
249+
[github-hello-js]: https://github.com/MrSwitch/hello.js

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,19 @@ You can define Azure AD as a claims provider by adding Azure AD to the **ClaimsP
7979
<Description>Login with your Contoso account</Description>
8080
<Protocol Name="OpenIdConnect"/>
8181
<Metadata>
82-
<Item Key="METADATA">https://login.windows.net/common/.well-known/openid-configuration</Item>
82+
<Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item>
8383
<!-- Update the Client ID below to the Application ID -->
8484
<Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
8585
<Item Key="response_types">code</Item>
86-
<Item Key="scope">openid</Item>
86+
<Item Key="scope">openid profile</Item>
8787
<Item Key="response_mode">form_post</Item>
8888
<Item Key="HttpBinding">POST</Item>
8989
<Item Key="UsePolicyInRedirectUri">false</Item>
9090
<Item Key="DiscoverMetadataByTokenIssuer">true</Item>
9191
<!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. -->
92-
<Item Key="ValidTokenIssuerPrefixes">https://sts.windows.net/00000000-0000-0000-0000-000000000000,https://sts.windows.net/11111111-1111-1111-1111-111111111111</Item>
92+
<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item>
9393
<!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. -->
94-
<!-- <Item Key="ValidTokenIssuerPrefixes">https://sts.windows.net/</Item> -->
94+
<!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> -->
9595
</Metadata>
9696
<CryptographicKeys>
9797
<Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/>
@@ -125,17 +125,17 @@ You can define Azure AD as a claims provider by adding Azure AD to the **ClaimsP
125125
### Restrict access
126126
127127
> [!NOTE]
128-
> Using `https://sts.windows.net` as the value for **ValidTokenIssuerPrefixes** allows all Azure AD users to sign in to your application.
128+
> Using `https://login.microsoftonline.com/` as the value for **ValidTokenIssuerPrefixes** allows all Azure AD users to sign in to your application.
129129
130130
You need to update the list of valid token issuers and restrict access to a specific list of Azure AD tenant users who can sign in.
131131
132-
To obtain the values, look at the OpenID Connect discovery metadata for each of the Azure AD tenants that you would like to have users sign in from. The format of the metadata URL is similar to `https://login.windows.net/your-tenant/.well-known/openid-configuration`, where `your-tenant` is your Azure AD tenant name. For example:
132+
To obtain the values, look at the OpenID Connect discovery metadata for each of the Azure AD tenants that you would like to have users sign in from. The format of the metadata URL is similar to `https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configuration`, where `your-tenant` is your Azure AD tenant name. For example:
133133
134-
`https://login.windows.net/fabrikam.onmicrosoft.com/.well-known/openid-configuration`
134+
`https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration`
135135
136136
Perform these steps for each Azure AD tenant that should be used to sign in:
137137
138-
1. Open your browser and go to the OpenID Connect metadata URL for the tenant. Find the **issuer** object and record its value. It should look similar to `https://sts.windows.net/00000000-0000-0000-0000-000000000000/`.
138+
1. Open your browser and go to the OpenID Connect metadata URL for the tenant. Find the **issuer** object and record its value. It should look similar to `https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/`.
139139
1. Copy and paste the value into the **ValidTokenIssuerPrefixes** key. Separate multiple issuers with a comma. An example with two issuers appears in the previous `ClaimsProvider` XML sample.
140140
141141
### Upload the extension file for verification

articles/active-directory-b2c/active-directory-b2c-setup-oidc-azure-active-directory.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ms.topic: conceptual
1111
ms.date: 08/08/2019
1212
ms.author: marsma
1313
ms.subservice: B2C
14+
ms.custom: fasttrack-edit
1415
---
1516

1617
# Set up sign-in for a specific Azure Active Directory organization in Azure Active Directory B2C
@@ -55,6 +56,8 @@ To enable sign-in for users from a specific Azure AD organization, you need to r
5556
5657
For example, `https://login.microsoftonline.com/contoso.onmicrosoft.com/.well-known/openid-configuration`.
5758
59+
**Do not** use the Azure AD v2.0 metadata endpoint, for example `https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration`. Doing so results in an error similar to `AADB2C: A claim with id 'UserId' was not found, which is required by ClaimsTransformation 'CreateAlternativeSecurityId' with id 'CreateAlternativeSecurityId' in policy 'B2C_1_SignUpOrIn' of tenant 'contoso.onmicrosoft.com'` when attempting to sign in.
60+
5861
1. For **Client ID**, enter the application ID that you previously recorded.
5962
1. For **Client secret**, enter the client secret that you previously recorded.
6063
1. Leave the default values for **Scope**, **Response type**, and **Response mode**.

articles/active-directory-b2c/active-directory-b2c-tutorials-spa.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ The sample supports sign-up, sign-in, profile editing, and password reset. This
111111
112112
### Sign up using an email address
113113
114+
> [!WARNING]
115+
> After sign-up or sign-in, you might see an [insufficient permissions error](#error-insufficient-permissions). Due to the code sample's current implementation, this error is expected. This issue will be resolved in a future version of the code sample, at which time this warning will be removed.
116+
114117
1. Select **Login** to initiate the *B2C_1_signupsignin1* user flow you specified in an earlier step.
115118
1. Azure AD B2C presents a sign-in page with a sign-up link. Since you don't yet have an account, select the **Sign up now** link.
116119
1. The sign-up workflow presents a page to collect and verify the user's identity using an email address. The sign-up workflow also collects the user's password and the requested attributes defined in the user flow.
@@ -127,15 +130,15 @@ You can now use your email address and password to sign in to the application.
127130
128131
### Error: insufficient permissions
129132
130-
After you sign in, the app displays an insufficient permissions error - this is **expected**:
133+
After you sign in, the application may return an insufficient permissions error:
131134
132135
```Output
133136
ServerError: AADB2C90205: This application does not have sufficient permissions against this web resource to perform the operation.
134137
Correlation ID: ce15bbcc-0000-0000-0000-494a52e95cd7
135138
Timestamp: 2019-07-20 22:17:27Z
136139
```
137140
138-
You receive this error because the web application is attempting to access a web API protected by the demo directory, *fabrikamb2c*. Because your access token is valid only for your Azure AD directory, the API call is therefore unauthorized.
141+
You receive this error because the web application is attempting to access a web API protected by the demo directory, *fabrikamb2c*. Because your access token is valid only for your Azure AD directory, the API call is unauthorized.
139142
140143
To fix this error, continue on to the next tutorial in the series (see [Next steps](#next-steps)) to create a protected web API for your directory.
141144

0 commit comments

Comments
 (0)