Skip to content

Commit 9c5b158

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into vnet-peer-update
2 parents b1d0b61 + afe3d0c commit 9c5b158

File tree

1,494 files changed

+13612
-19853
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,494 files changed

+13612
-19853
lines changed

.openpublishing.redirection.json

Lines changed: 536 additions & 0 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/faq.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,12 @@ sections:
274274
275275
* API connectors
276276
* Conditional Access
277+
278+
- question: |
279+
I am using rolling refresh tokens for my application and I am getting an invalid_grant error on redeeming newly acquired refresh tokens well within their set validity period. Why does this happen?
280+
answer: |
281+
While determining validity for rolling refresh tokens, B2C will consider the initial login time of the user in the application also to calculate the token validity skew. If the user haven't logged out of the application for a very long time, this skew value will exceed the validity period of the token and hence for security reasons the tokens will be considered as invalid. Hence the error. Inform the user to perform a proper logout and login back into the application and this should reset the skew. This scenario is not applicable if refresh token rolling is set as infinite rolling.
282+
277283
278284
- question: |
279285
I've revoked the refresh token using Microsoft Graph invalidateAllRefreshTokens, or Microsoft Graph PowerShell, Revoke-MgUserSignInSession. Why is Azure AD B2C still accepting the old refresh token?
@@ -286,6 +292,9 @@ sections:
286292
1. Wait for 10 minutes.
287293
288294
1. Retrieve the `RefreshToken` again.
295+
296+
> [!TIP]
297+
> With Azure AD B2C [custom policy](custom-policy-overview.md), you can reduce the above mentioned skew time of 5 minutes (300000 milliseconds) by adjusting the value for InputParameter "TreatAsEqualIfWithinMillseconds" under claim transformation Id "AssertRefreshTokenIssuedLaterThanValidFromDate". This claim transformation can be found in the TrustFrameworkBase.xml file under latest custom policy [stater-pack](https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-custom-policy#get-the-starter-pack).
289298
290299
- question: |
291300
I use multiple tabs in a web browser to sign in to multiple applications that I registered in the same Azure AD B2C tenant. When I try to perform a single sign-out, not all of the applications are signed out. Why does this happen?

articles/active-directory-b2c/javascript-and-page-layout.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ zone_pivot_groups: b2c-policy-type
2323

2424
[!INCLUDE [active-directory-b2c-choose-user-flow-or-custom-policy](../../includes/active-directory-b2c-choose-user-flow-or-custom-policy.md)]
2525

26-
With Azure Active Directory B2C (Azure AD B2C) [HTML templates](customize-ui-with-html.md), you can craft your users' identity experiences. Your HTML templates can contain only certain HTML tags and attributes. Basic HTML tags, such as &lt;b&gt;, &lt;i&gt;, &lt;u&gt;, &lt;h1&gt;, and &lt;hr&gt; are allowed. More advanced tags such as &lt;script&gt;, and &lt;iframe&gt; are removed for security reasons but the `<script>` tag should be added in the `<head>` tag.
26+
With Azure Active Directory B2C (Azure AD B2C) [HTML templates](customize-ui-with-html.md), you can craft your users' identity experiences. Your HTML templates can contain only certain HTML tags and attributes. Basic HTML tags, such as &lt;b&gt;, &lt;i&gt;, &lt;u&gt;, &lt;h1&gt;, and &lt;hr&gt; are allowed. More advanced tags such as &lt;script&gt;, and &lt;iframe&gt; are removed for security reasons but the `<script>` tag should be added in the `<head>` tag. From selfasserted page layout version 2.1.21 / unifiedssp version 2.1.10 / multifactor version 1.2.10 onwards B2C doesn't support adding scripts in `<body>` tag (as this can pose a risk for cross site scripting attack). Migrating existing scripts from `<body>` to `<head>` may at-times require rewriting existing scripts with mutation observers for proper working.
2727

2828
The `<script>` tag should be added in the `<head>` tag in two ways:
2929

articles/active-directory-b2c/self-asserted-technical-profile.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ You can also call a REST API technical profile with your business logic, overwri
220220
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
221221
|setting.forgotPasswordLinkOverride <sup>4</sup>| No | A password reset claims exchange to be executed. For more information, see [Self-service password reset](add-password-reset-policy.md). |
222222
| setting.enableCaptchaChallenge | No | Specifies whether CAPTCHA challenge code should be displayed. Possible values: `true` , or `false` (default). For this setting to work, the [CAPTCHA display control]() must be referenced in the [display claims](#display-claims) of the self-asserted technical profile. CAPTCHA feature is in **public preview**.|
223+
| setting.showHeading | No | Specifies whether **User Details** heading element should be visible. Possible values: `true` (default), or `false`.|
223224

224225
Notes:
225226

articles/ai-services/computer-vision/Tutorials/liveness.md

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ ms.date: 11/06/2023
1212

1313
# Tutorial: Detect liveness in faces
1414

15-
Face Liveness detection can be used to determine if a face in an input video stream is real (live) or fake (spoof). It is a crucial building block in a biometric authentication system to prevent spoofing attacks from imposters trying to gain access to the system using a photograph, video, mask, or other means to impersonate another person.
15+
Face Liveness detection can be used to determine if a face in an input video stream is real (live) or fake (spoofed). It's an important building block in a biometric authentication system to prevent imposters from gaining access to the system using a photograph, video, mask, or other means to impersonate another person.
1616

17-
The goal of liveness detection is to ensure that the system is interacting with a physically present live person at the time of authentication. Such systems have become increasingly important with the rise of digital finance, remote access control, and online identity verification processes.
17+
The goal of liveness detection is to ensure that the system is interacting with a physically present live person at the time of authentication. Such systems are increasingly important with the rise of digital finance, remote access control, and online identity verification processes.
1818

19-
The liveness detection solution successfully defends against various spoof types ranging from paper printouts, 2d/3d masks, and spoof presentations on phones and laptops. Liveness detection is an active area of research, with continuous improvements being made to counteract increasingly sophisticated spoofing attacks over time. Continuous improvements will be rolled out to the client and the service components over time as the overall solution gets more robust to new types of attacks.
19+
The Azure AI Face liveness detection solution successfully defends against various spoof types ranging from paper printouts, 2d/3d masks, and spoof presentations on phones and laptops. Liveness detection is an active area of research, with continuous improvements being made to counteract increasingly sophisticated spoofing attacks over time. Continuous improvements will be rolled out to the client and the service components over time as the overall solution gets more robust to new types of attacks.
2020

2121
[!INCLUDE [liveness-sdk-gate](../includes/liveness-sdk-gate.md)]
2222

2323

24+
2425
## Introduction
2526

2627
The liveness solution integration involves two distinct components: a frontend mobile/web application and an app server/orchestrator.
@@ -33,16 +34,14 @@ The liveness solution integration involves two distinct components: a frontend m
3334
Additionally, we combine face verification with liveness detection to verify whether the person is the specific person you designated. The following table help describe details of the liveness detection features:
3435

3536
| Feature | Description |
36-
| -- | -- |
37+
| -- |--|
3738
| Liveness detection | Determine an input is real or fake, and only the app server has the authority to start the liveness check and query the result. |
3839
| Liveness detection with face verification | Determine an input is real or fake and verify the identity of the person based on a reference image you provided. Either the app server or the frontend application can provide a reference image. Only the app server has the authority to initial the liveness check and query the result. |
3940

40-
41-
## Get started
42-
4341
This tutorial demonstrates how to operate a frontend application and an app server to perform [liveness detection](#perform-liveness-detection) and [liveness detection with face verification](#perform-liveness-detection-with-face-verification) across various language SDKs.
4442

45-
### Prerequisites
43+
44+
## Prerequisites
4645

4746
- Azure subscription - [Create one for free](https://azure.microsoft.com/free/cognitive-services/)
4847
- Your Azure account must have a **Cognitive Services Contributor** role assigned in order for you to agree to the responsible AI terms and create a resource. To get this role assigned to your account, follow the steps in the [Assign roles](/azure/role-based-access-control/role-assignments-steps) documentation, or contact your administrator.
@@ -51,32 +50,32 @@ This tutorial demonstrates how to operate a frontend application and an app serv
5150
- You can use the free pricing tier (`F0`) to try the service, and upgrade later to a paid tier for production.
5251
- Access to the Azure AI Vision Face Client SDK for mobile (IOS and Android) and web. To get started, you need to apply for the [Face Recognition Limited Access features](https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xUQjA5SkYzNDM4TkcwQzNEOE1NVEdKUUlRRCQlQCN0PWcu) to get access to the SDK. For more information, see the [Face Limited Access](/legal/cognitive-services/computer-vision/limited-access-identity?context=%2Fazure%2Fcognitive-services%2Fcomputer-vision%2Fcontext%2Fcontext) page.
5352

54-
### Setup frontend applications and app servers to perform liveness detection
53+
## Set up frontend applications and app servers to perform liveness detection
5554

56-
We provide SDKs in different languages for frontend applications and app servers. See the following instructions to setup your frontend applications and app servers.
55+
We provide SDKs in different languages for frontend applications and app servers. See the following instructions to set up your frontend applications and app servers.
5756

58-
#### Integrate liveness into frontend application
57+
### Download SDK for frontend application
5958

60-
Once you have access to the SDK, follow instruction in the [azure-ai-vision-sdk](https://github.com/Azure-Samples/azure-ai-vision-sdk) GitHub repository to integrate the UI and the code into your native mobile application. The liveness SDK supports Java/Kotlin for Android mobile applications, Swift for iOS mobile applications and JavaScript for web applications:
59+
Once you have access to the SDK, follow instructions in the [azure-ai-vision-sdk](https://github.com/Azure-Samples/azure-ai-vision-sdk) GitHub repository to integrate the UI and the code into your native mobile application. The liveness SDK supports Java/Kotlin for Android mobile applications, Swift for iOS mobile applications and JavaScript for web applications:
6160
- For Swift iOS, follow the instructions in the [iOS sample](https://aka.ms/azure-ai-vision-face-liveness-client-sdk-ios-readme)
6261
- For Kotlin/Java Android, follow the instructions in the [Android sample](https://aka.ms/liveness-sample-java)
6362
- For JavaScript Web, follow the instructions in the [Web sample](https://aka.ms/liveness-sample-web)
6463

65-
Once you've added the code into your application, the SDK handles starting the camera, guiding the end-user to adjust their position, composing the liveness payload, and calling the Azure AI Face cloud service to process the liveness payload.
64+
Once you've added the code into your application, the SDK handles starting the camera, guiding the end-user in adjusting their position, composing the liveness payload, and calling the Azure AI Face cloud service to process the liveness payload.
6665

67-
#### Download Azure AI Face client library for an app server
66+
### Download Azure AI Face client library for app server
6867

6968
The app server/orchestrator is responsible for controlling the lifecycle of a liveness session. The app server has to create a session before performing liveness detection, and then it can query the result and delete the session when the liveness check is finished. We offer a library in various languages for easily implementing your app server. Follow these steps to install the package you want:
7069
- For C#, follow the instructions in the [dotnet readme](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/face/Azure.AI.Vision.Face/README.md)
7170
- For Java, follow the instructions in the [Java readme](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/face/azure-ai-vision-face/README.md)
7271
- For Python, follow the instructions in the [Python readme](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/face/azure-ai-vision-face/README.md)
7372
- For JavaScript, follow the instructions in the [JavaScript readme](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/face/ai-vision-face-rest/README.md)
7473

75-
##### Create environment variables
74+
#### Create environment variables
7675

7776
[!INCLUDE [create environment variables](../includes/face-environment-variables.md)]
7877

79-
### Perform liveness detection
78+
## Perform liveness detection
8079

8180
The high-level steps involved in liveness orchestration are illustrated below:
8281

@@ -229,7 +228,7 @@ The high-level steps involved in liveness orchestration are illustrated below:
229228

230229
---
231230

232-
1. The SDK then starts the camera, guides the user to position correctly and then prepares the payload to call the liveness detection service endpoint.
231+
1. The SDK then starts the camera, guides the user to position correctly, and then prepares the payload to call the liveness detection service endpoint.
233232

234233
1. The SDK calls the Azure AI Vision Face service to perform the liveness detection. Once the service responds, the SDK notifies the frontend application that the liveness check has been completed.
235234

@@ -407,7 +406,7 @@ The high-level steps involved in liveness orchestration are illustrated below:
407406

408407
---
409408

410-
### Perform liveness detection with face verification
409+
## Perform liveness detection with face verification
411410

412411
Combining face verification with liveness detection enables biometric verification of a particular person of interest with an added guarantee that the person is physically present in the system.
413412
There are two parts to integrating liveness with verification:
@@ -416,15 +415,15 @@ There are two parts to integrating liveness with verification:
416415

417416
:::image type="content" source="../media/liveness/liveness-verify-diagram.jpg" alt-text="Diagram of the liveness-with-face-verification workflow of Azure AI Face." lightbox="../media/liveness/liveness-verify-diagram.jpg":::
418417

419-
#### Select a good reference image
418+
### Select a good reference image
420419

421420
Use the following tips to ensure that your input images give the most accurate recognition results.
422421

423-
##### Technical requirements:
422+
#### Technical requirements
424423
[!INCLUDE [identity-input-technical](../includes/identity-input-technical.md)]
425424
* You can utilize the `qualityForRecognition` attribute in the [face detection](../how-to/identity-detect-faces.md) operation when using applicable detection models as a general guideline of whether the image is likely of sufficient quality to attempt face recognition on. Only `"high"` quality images are recommended for person enrollment and quality at or above `"medium"` is recommended for identification scenarios.
426425

427-
##### Composition requirements:
426+
#### Composition requirements
428427
- Photo is clear and sharp, not blurry, pixelated, distorted, or damaged.
429428
- Photo is not altered to remove face blemishes or face appearance.
430429
- Photo must be in an RGB color supported format (JPEG, PNG, WEBP, BMP). Recommended Face size is 200 pixels x 200 pixels. Face sizes larger than 200 pixels x 200 pixels will not result in better AI quality, and no larger than 6 MB in size.
@@ -436,7 +435,7 @@ Use the following tips to ensure that your input images give the most accurate r
436435
- Background should be uniform and plain, free of any shadows.
437436
- Face should be centered within the image and fill at least 50% of the image.
438437

439-
#### Set up the orchestration of liveness with verification.
438+
### Set up the orchestration of liveness with verification.
440439

441440
The high-level steps involved in liveness with verification orchestration are illustrated below:
442441
1. Providing the verification reference image by either of the following two methods:
@@ -801,7 +800,7 @@ The high-level steps involved in liveness with verification orchestration are il
801800

802801
---
803802

804-
### Clean up resources
803+
## Clean up resources
805804

806805
If you want to clean up and remove an Azure AI services subscription, you can delete the resource or resource group. Deleting the resource group also deletes any other resources associated with it.
807806

articles/ai-services/computer-vision/concept-model-customization.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ The following table describes the limits on the scale of your custom model proje
8080
| Max # training images | 1,000,000 | 200,000 |
8181
| Max # evaluation images | 100,000 | 100,000 |
8282
| Min # training images per category | 2 | 2 |
83-
| Max # tags per image | multiclass: 1 | NA |
84-
| Max # regions per image | NA | 1,000 |
83+
| Max # tags per image | 1 | N/A |
84+
| Max # regions per image | N/A | 1,000 |
8585
| Max # categories | 2,500 | 1,000 |
8686
| Min # categories | 2 | 1 |
8787
| Max image size (Training) | 20 MB | 20 MB |

articles/ai-services/computer-vision/how-to/model-customization.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,6 @@ Begin by going to [Vision Studio](https://portal.vision.cognitive.azure.com/) an
247247

248248
Then, sign in with your Azure account and select your Vision resource. If you don't have one, you can create one from this screen.
249249

250-
> [!IMPORTANT]
251-
> To train a custom model in Vision Studio, your Azure subscription needs to be approved for access. Please request access using [this form](https://aka.ms/visionaipublicpreview).
252250

253251
:::image type="content" source="../media/customization/select-resource.png" alt-text="Screenshot of the select resource screen.":::
254252

22.9 KB
Loading
27.2 KB
Loading

articles/ai-services/computer-vision/overview-identity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ This documentation contains the following types of articles:
3838
* The [quickstarts](./quickstarts-sdk/identity-client-library.md) are step-by-step instructions that let you make calls to the service and get results in a short period of time.
3939
* The [how-to guides](./how-to/identity-detect-faces.md) contain instructions for using the service in more specific or customized ways.
4040
* The [conceptual articles](./concept-face-detection.md) provide in-depth explanations of the service's functionality and features.
41-
* The [tutorials](./enrollment-overview.md) are longer guides that show you how to use this service as a component in broader business solutions.
41+
* The [tutorials](./Tutorials/liveness.md) are longer guides that show you how to use this service as a component in broader business solutions.
4242

4343
For a more structured approach, follow a Training module for Face.
4444
* [Detect and analyze faces with the Face service](/training/modules/detect-analyze-faces/)

0 commit comments

Comments
 (0)