Skip to content

Commit aee6953

Browse files
committed
Merge branch 'master' of github.com:MicrosoftDocs/azure-docs-pr
2 parents 4f64309 + c71ef7c commit aee6953

File tree

130 files changed

+1343
-1441
lines changed

Some content is hidden

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

130 files changed

+1343
-1441
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42208,6 +42208,11 @@
4220842208
"redirect_url": "/azure/iot-central/preview/quick-monitor-devices/",
4220942209
"redirect_document_id": true
4221042210
},
42211+
{
42212+
"source_path": "articles/iot-central/core/overview-iot-options.md",
42213+
"redirect_url": "/azure/iot-fundamentals/iot-services-and-technologies/",
42214+
"redirect_document_id": true
42215+
},
4221142216
{
4221242217
"source_path": "articles/iot-accelerators/iot-accelerators-arduino-iot-devkit-az3166-devkit-remote-monitoringV2.md",
4221342218
"redirect_url": "/azure/iot-accelerators/iot-accelerators-arduino-iot-devkit-az3166-devkit-remote-monitoring-v2",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/
271271
| {tenant} | Yes | Name of your Azure AD B2C tenant |
272272
| {policy} | Yes | The user flow that you want to use to sign the user out of your application. |
273273
| id_token_hint| No | A previously issued ID token to pass to the logout endpoint as a hint about the end user's current authenticated session with the client. The `id_token_hint` ensures that the `post_logout_redirect_uri` is a registered reply URL in your Azure AD B2C application settings. |
274+
| client_id | No* | The application ID that the [Azure portal](https://portal.azure.com/) assigned to your application.<br><br>\**This is required when using `Application` isolation SSO configuration and _Require ID Token_ in logout request is set to `No`.* |
274275
| post_logout_redirect_uri | No | The URL that the user should be redirected to after successful sign out. If it isn't included, Azure AD B2C shows the user a generic message. Unless you provide an `id_token_hint`, you should not register this URL as a reply URL in your Azure AD B2C application settings. |
275276
| state | No | If a `state` parameter is included in the request, the same value should appear in the response. The application should verify that the `state` values in the request and response are identical. |
276277

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ Now that your tenant can issue SAML assertions, you need to create the SAML rely
160160

161161
1. Open the *SignUpOrSigninSAML.xml* file in your preferred editor.
162162

163-
1. Change the `PolicyId` and `PublicPolicyUri` of the policy to _B2C_1A_signup_signin_saml_ and _http://tenant-name.onmicrosoft.com/B2C_1A_signup_signin_saml_ as seen below.
163+
1. Change the `PolicyId` and `PublicPolicyUri` of the policy to _B2C_1A_signup_signin_saml_ and `http://tenant-name.onmicrosoft.com/B2C_1A_signup_signin_saml` as seen below.
164164

165165
```XML
166166
<TrustFrameworkPolicy

articles/active-directory-b2c/custom-email.md

Lines changed: 86 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ With a SendGrid account created and SendGrid API key stored in a Azure AD B2C po
154154

155155
## Add Azure AD B2C claim types
156156

157-
In your policy, add the following claim types.
157+
In your policy, add the following claim types to the `<ClaimsSchema>` element within `<BuildingBlocks>`.
158158

159159
These claims types are necessary to generate and verify the email address using a one-time password (OTP) code.
160160

@@ -175,6 +175,50 @@ These claims types are necessary to generate and verify the email address using
175175
</ClaimType>
176176
```
177177

178+
## Add the claims transformation
179+
180+
Next, you need a claims transformation to output a JSON string claim that will be the body of the request sent to SendGrid.
181+
182+
The JSON object's structure is defined by the IDs in dot notation of the InputParameters and the TransformationClaimTypes of the InputClaims. Numbers in the dot notation imply arrays. The values come from the InputClaims' values and the InputParameters' "Value" properties. For more information about JSON claims transformations, see [JSON claims transformations](json-transformations.md).
183+
184+
Add the following claims transformation to the `<ClaimsTransformations>` element within `<BuildingBlocks>`. Make the following updates to the claims transformation XML:
185+
186+
* Update the `template_id` InputParameter value with the ID of the SendGrid transactional template you created earlier in [Create SendGrid template](#create-sendgrid-template).
187+
* Update the `from.email` address value. Use a valid email address to help prevent the verification email from being marked as spam.
188+
* Update the value of the `personalizations.0.dynamic_template_data.subject` subject line input parameter with a subject line appropriate for your organization.
189+
190+
```XML
191+
<ClaimsTransformation Id="GenerateSendGridRequestBody" TransformationMethod="GenerateJson">
192+
<InputClaims>
193+
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.to.0.email" />
194+
<InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="personalizations.0.dynamic_template_data.otp" />
195+
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.dynamic_template_data.email" />
196+
</InputClaims>
197+
<InputParameters>
198+
<!-- Update the template_id value with the ID of your SendGrid template. -->
199+
<InputParameter Id="template_id" DataType="string" Value="d-989077fbba9746e89f3f6411f596fb96"/>
200+
<InputParameter Id="from.email" DataType="string" Value="[email protected]"/>
201+
<!-- Update with a subject line appropriate for your organization. -->
202+
<InputParameter Id="personalizations.0.dynamic_template_data.subject" DataType="string" Value="Contoso account email verification code"/>
203+
</InputParameters>
204+
<OutputClaims>
205+
<OutputClaim ClaimTypeReferenceId="sendGridReqBody" TransformationClaimType="outputClaim"/>
206+
</OutputClaims>
207+
</ClaimsTransformation>
208+
```
209+
210+
## Add DataUri content definition
211+
212+
Below the claims transformations within `<BuildingBlocks>`, add the following [ContentDefinition](contentdefinitions.md) to reference the version 2.0.0 data URI:
213+
214+
```XML
215+
<ContentDefinitions>
216+
<ContentDefinition Id="api.localaccountsignup">
217+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
218+
</ContentDefinition>
219+
</ContentDefinitions>
220+
```
221+
178222
## Create a DisplayControl
179223

180224
A verification display control is used to verify the email address with a verification code that's sent to the user.
@@ -188,7 +232,7 @@ This example display control is configured to:
188232

189233
![Send verification code email action](media/custom-email/display-control-verification-email-action-01.png)
190234

191-
Under [ClaimsSchema](claimsschema.md), add the following [DisplayControl](display-controls.md) of type [VerificationControl](display-control-verification.md) to your policy.
235+
Under content definitions, still within `<BuildingBlocks>`, add the following [DisplayControl](display-controls.md) of type [VerificationControl](display-control-verification.md) to your policy.
192236

193237
```XML
194238
<DisplayControls>
@@ -221,6 +265,8 @@ Under [ClaimsSchema](claimsschema.md), add the following [DisplayControl](displa
221265

222266
The `GenerateOtp` technical profile generates a code for the email address. The `VerifyOtp` technical profile verifies the code associated with the email address. You can change the configuration of the format and the expiration of the one-time password. For more information about OTP technical profiles, see [Define a one-time password technical profile](one-time-password-technical-profile.md).
223267

268+
Add the following technical profiles to the `<ClaimsProviders>` element.
269+
224270
```XML
225271
<ClaimsProvider>
226272
<DisplayName>One time password technical profiles</DisplayName>
@@ -267,6 +313,8 @@ The `GenerateOtp` technical profile generates a code for the email address. The
267313

268314
This REST API technical profile generates the email content (using the SendGrid format). For more information about RESTful technical profiles, see [Define a RESTful technical profile](restful-technical-profile.md).
269315

316+
As with the OTP technical profiles, add the following technical profiles to the `<ClaimsProviders>` element.
317+
270318
```XML
271319
<ClaimsProvider>
272320
<DisplayName>RestfulProvider</DisplayName>
@@ -294,85 +342,49 @@ This REST API technical profile generates the email content (using the SendGrid
294342
</ClaimsProvider>
295343
```
296344

297-
## Add the claims transformation
298-
299-
Add the following claims transformation to output a JSON string claim that will be the body of the request sent to SendGrid. Make the following updates to the claims transformation XML:
300-
301-
* Update the `template_id` InputParameter value with the ID of the SendGrid transactional template you created earlier in [Create SendGrid template](#create-sendgrid-template).
302-
* Update the value of the `personalizations.0.dynamic_template_data.subject` subject line input parameter with a subject line appropriate for your organization.
303-
304-
The JSON object's structure is defined by the IDs in dot notation of the InputParameters and the TransformationClaimTypes of the InputClaims. Numbers in the dot notation imply arrays. The values come from the InputClaims' values and the InputParameters' "Value" properties. For more information about JSON claims transformations, see [JSON claims transformations](json-transformations.md).
305-
306-
```XML
307-
<ClaimsTransformation Id="GenerateSendGridRequestBody" TransformationMethod="GenerateJson">
308-
<InputClaims>
309-
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.to.0.email" />
310-
<InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="personalizations.0.dynamic_template_data.otp" />
311-
<InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.dynamic_template_data.email" />
312-
</InputClaims>
313-
<InputParameters>
314-
<!-- Update the template_id value with the ID of your SendGrid template. -->
315-
<InputParameter Id="template_id" DataType="string" Value="d-989077fbba9746e89f3f6411f596fb96"/>
316-
<InputParameter Id="from.email" DataType="string" Value="[email protected]"/>
317-
<!-- Update with a subject line appropriate for your organization. -->
318-
<InputParameter Id="personalizations.0.dynamic_template_data.subject" DataType="string" Value="Contoso account email verification code"/>
319-
</InputParameters>
320-
<OutputClaims>
321-
<OutputClaim ClaimTypeReferenceId="sendGridReqBody" TransformationClaimType="outputClaim"/>
322-
</OutputClaims>
323-
</ClaimsTransformation>
324-
```
325-
326-
## Add DataUri content definition
327-
328-
Add the following ContentDefinition within BuildingBlocks to reference the version 2.0.0 data URI:
329-
330-
```XML
331-
<ContentDefinitions>
332-
<ContentDefinition Id="api.localaccountsignup">
333-
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
334-
</ContentDefinition>
335-
</ContentDefinitions>
336-
```
337-
338345
## Make a reference to the DisplayControl
339346

340347
In the final step, add a reference to the DisplayControl you created. Replace your existing `LocalAccountSignUpWithLogonEmail` self-asserted technical profile with the following if you used an earlier version of Azure AD B2C policy. This technical profile uses `DisplayClaims` with a reference to the DisplayControl.
341348

342349
For more information, see [Self-asserted technical profile](restful-technical-profile.md) and [DisplayControl](display-controls.md).
343350

344351
```XML
345-
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
346-
<DisplayName>Email signup</DisplayName>
347-
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
348-
<Metadata>
349-
<Item Key="IpAddressClaimReferenceId">IpAddress</Item>
350-
<Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
351-
<Item Key="language.button_continue">Create</Item>
352-
</Metadata>
353-
<InputClaims>
354-
<InputClaim ClaimTypeReferenceId="email" />
355-
</InputClaims>
356-
<DisplayClaims>
357-
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
358-
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
359-
<DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
360-
<DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
361-
<DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
362-
<DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
363-
</DisplayClaims>
364-
<OutputClaims>
365-
<OutputClaim ClaimTypeReferenceId="email" Required="true" />
366-
<OutputClaim ClaimTypeReferenceId="objectId" />
367-
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
368-
<OutputClaim ClaimTypeReferenceId="authenticationSource" />
369-
<OutputClaim ClaimTypeReferenceId="newUser" />
370-
</OutputClaims>
371-
<ValidationTechnicalProfiles>
372-
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
373-
</ValidationTechnicalProfiles>
374-
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
375-
</TechnicalProfile>
352+
<ClaimsProvider>
353+
<DisplayName>Local Account</DisplayName>
354+
<TechnicalProfiles>
355+
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
356+
<DisplayName>Email signup</DisplayName>
357+
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
358+
<Metadata>
359+
<Item Key="IpAddressClaimReferenceId">IpAddress</Item>
360+
<Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
361+
<Item Key="language.button_continue">Create</Item>
362+
</Metadata>
363+
<InputClaims>
364+
<InputClaim ClaimTypeReferenceId="email" />
365+
</InputClaims>
366+
<DisplayClaims>
367+
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
368+
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
369+
<DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
370+
<DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
371+
<DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
372+
<DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
373+
</DisplayClaims>
374+
<OutputClaims>
375+
<OutputClaim ClaimTypeReferenceId="email" Required="true" />
376+
<OutputClaim ClaimTypeReferenceId="objectId" />
377+
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
378+
<OutputClaim ClaimTypeReferenceId="authenticationSource" />
379+
<OutputClaim ClaimTypeReferenceId="newUser" />
380+
</OutputClaims>
381+
<ValidationTechnicalProfiles>
382+
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
383+
</ValidationTechnicalProfiles>
384+
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
385+
</TechnicalProfile>
386+
</TechnicalProfiles>
387+
</ClaimsProvider>
376388
```
377389

378390
## Next steps

articles/active-directory-b2c/phone-authentication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ As you upload each file, Azure adds the prefix `B2C_1A_`.
6060

6161
## Test the custom policy
6262

63-
1. Under **Custom policies**, select **B2C_1A_SignUpOrSignInWithPhoneOrEmail**.
63+
1. Under **Custom policies**, select **B2C_1A_SignUpOrSignInWithPhone**.
6464
1. Under **Select application**, select the *webapp1* application that you registered when completing the prerequisites.
6565
1. For **Select reply url**, choose `https://jwt.ms`.
6666
1. Select **Run now** and sign up using an email address or a phone number.

articles/active-directory-domain-services/network-considerations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ms.author: iainfou
1616
---
1717
# Virtual network design considerations and configuration options for Azure AD Domain Services
1818

19-
As Azure Active Directory Domain Services (AD DS) provides authentication and management services to other applications and workloads, network connectivity is a key component. Without appropriately configured virtual network resources, applications and workloads can't communicate with and use the features provides by Azure AD DS. If you plan your virtual network correctly, you make sure that Azure AD DS can serve your applications and workloads as needed.
19+
As Azure Active Directory Domain Services (AD DS) provides authentication and management services to other applications and workloads, network connectivity is a key component. Without appropriately configured virtual network resources, applications and workloads can't communicate with and use the features provided by Azure AD DS. If you plan your virtual network correctly, you make sure that Azure AD DS can serve your applications and workloads as needed.
2020

2121
This article outlines design considerations and requirements for an Azure virtual network that supports Azure AD DS.
2222

0 commit comments

Comments
 (0)