Skip to content

Commit 2e7a485

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into esanMain
2 parents 49dd446 + 0d60946 commit 2e7a485

15 files changed

+644
-716
lines changed
Lines changed: 62 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,71 @@
11
---
22
title: Tutorial to configure Azure Active Directory B2C with Jumio
33
titleSuffix: Azure AD B2C
4-
description: In this tutorial, you configure Azure Active Directory B2C with Jumio for automated ID verification, safeguarding customer data.
4+
description: Configure Azure Active Directory B2C with Jumio for automated ID verification, safeguarding customer data.
55
services: active-directory-b2c
66
author: gargi-sinha
7-
manager: CelesteDG
7+
manager: martinco
88
ms.reviewer: kengaderdus
9-
109
ms.service: active-directory
1110
ms.workload: identity
1211
ms.topic: how-to
13-
ms.date: 08/20/2020
12+
ms.date: 12/7/2022
1413
ms.author: gasinh
1514
ms.subservice: B2C
1615
---
1716

1817
# Tutorial for configuring Jumio with Azure Active Directory B2C
1918

20-
In this sample tutorial, we provide guidance on how to integrate Azure Active Directory B2C (Azure AD B2C) with [Jumio](https://www.jumio.com/). Jumio is an ID verification service that enables real-time automated ID verification to help safeguard customer data.
19+
In this tutorial, learn to integrate Azure Active Directory B2C (Azure AD B2C) with [Jumio](https://www.jumio.com/), an ID verification service that enables real-time automated ID verification to help protect customer data.
2120

2221
## Prerequisites
2322

2423
To get started, you'll need:
2524

26-
- An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
27-
28-
- An [Azure AD B2C tenant](./tutorial-create-tenant.md) that's linked to your Azure subscription.
25+
- An Azure AD subscription
26+
- If you don't have one, you can get an [Azure free account](https://azure.microsoft.com/free/)
27+
- An [Azure AD B2C tenant](./tutorial-create-tenant.md) linked to your Azure subscription
2928

3029
## Scenario description
3130

3231
The Jumio integration includes the following components:
3332

34-
- Azure AD B2C: The authorization server that's responsible for verifying the user's credentials. It's also known as the identity provider.
35-
36-
- Jumio: The service that takes the ID details provided by the user and verifies them.
37-
38-
- Intermediate REST API: The API that implements the integration between Azure AD B2C and the Jumio service.
39-
40-
- Azure Blob storage: The service that supplies custom UI files to the Azure AD B2C policies.
33+
- **Azure AD B2C** - The authorization server that verifies user credentials, also known as the identity provider (IdP)
34+
- **Jumio** - Verifies user ID details
35+
- **Intermediate REST API** - Use it to implement Azure AD B2C and Jumio integration
36+
- **Azure Blob storage** - Use it to obtain custom UI files for the Azure AD B2C policies
4137

4238
The following architecture diagram shows the implementation.
4339

44-
![Diagram of the architecture of a Azure AD B2C integration with Jumio.](./media/partner-jumio/jumio-architecture-diagram.png)
40+
![Diagram of the architecture of a Azure AD B2C integration with Jumio](./media/partner-jumio/jumio-architecture-diagram.png)
4541

46-
|Step | Description |
47-
|:-----| :-----------|
48-
| 1. | The user arrives at a page to either sign in or sign up to create an account. Azure AD B2C collects the user attributes.
49-
| 2. | Azure AD B2C calls the middle-layer API and passes on the user attributes.
50-
| 3. | The middle-layer API collects user attributes and transforms them into a format that Jumio API can consume. Then it sends the attributes to Jumio.
51-
| 4. | After Jumio consumes the information and processes it, it returns the result to the middle-layer API.
52-
| 5. | The middle-layer API processes the information and sends back relevant information to Azure AD B2C.
53-
| 6. | Azure AD B2C receives information back from the middle-layer API. If it shows a failure response, an error message is displayed to user. If it shows a success response, the user is authenticated and written into the directory.
42+
1. The user signs in, or signs up, and creates an account. Azure AD B2C collects user attributes.
43+
2. Azure AD B2C calls the middle-layer API and passes the user attributes.
44+
3. The middle-layer API converts user attributes into a Jumio API format and sends the attributes to Jumio.
45+
4. Jumio processes the attributes, and returns results to the middle-layer API.
46+
5. The middle-layer API processes the results and sends relevant information to Azure AD B2C.
47+
6. Azure AD B2C receives the information. If the response fails, an error message appears. If the response succeeds, the user is authenticated and written into the directory.
5448

55-
## Sign up with Jumio
49+
## Create a Jumio account
5650

57-
To create a Jumio account, contact [Jumio](https://www.jumio.com/contact/).
51+
To create a Jumio account, go to the jumio.com [Contact](https://www.jumio.com/contact/) page.
5852

5953
## Configure Azure AD B2C with Jumio
6054

61-
After you create a Jumio account, you use the account to configure Azure AD B2C. The following sections describe the process in sequence.
55+
After you create a Jumio account, use it to configure Azure AD B2C.
6256

6357
### Deploy the API
6458

65-
Deploy the provided [API code](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/API/Jumio.Api) to an Azure service. You can publish the code from Visual Studio, by following [these instructions](/visualstudio/deployment/quickstart-deploy-to-azure).
59+
From [samples/Jumio/API/Jumio.Api/](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/API/Jumio.Api), deploy the code to an Azure service. You can publish the code from Visual Studio.
6660

6761
>[!NOTE]
68-
>You'll need the URL of the deployed service to configure Azure AD with the required settings.
62+
>To configure Azure AD, you'll need the deployed service URL.
6963
7064
### Deploy the client certificate
7165

72-
1. A client certificate helps protect the Jumio API call. Create a self-signed certificate by using the following PowerShell sample code:
66+
A client certificate helps protect the Jumio API call.
67+
68+
1. Create a self-signed certificate by using the following PowerShell sample code:
7369

7470
``` PowerShell
7571
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My"
@@ -80,17 +76,16 @@ Deploy the provided [API code](https://github.com/azure-ad-b2c/partner-integrati
8076
8177
```
8278

83-
The certificate is then exported to the location specified for ``{your-local-path}``.
84-
85-
3. Import the certificate to Azure App Service by following the instructions in [this article](../app-service/configure-ssl-certificate.md#upload-a-private-certificate).
79+
2. The certificate is exported to the location specified for ``{your-local-path}``.
80+
3. To import the certificate to Azure App Service, see [Upload a private certificate](../app-service/configure-ssl-certificate.md#upload-a-private-certificate).
8681

8782
### Create a signing/encryption key
8883

89-
Create a random string with a length greater than 64 characters that contains only letters and numbers.
84+
1. Create a random string with a length greater than 64 characters (letters and numbers only).
9085

91-
For example: ``C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65``
86+
For example: ``C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65``
9287

93-
Use the following PowerShell script to create the string:
88+
2. Use the following PowerShell script to create the string:
9489

9590
```PowerShell
9691
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
@@ -99,72 +94,61 @@ Use the following PowerShell script to create the string:
9994

10095
### Configure the API
10196

102-
You can [configure application settings in Azure App Service](../app-service/configure-common.md#configure-app-settings). With this method, you can securely configure settings without checking them into a repository. You'll need to provide the following settings to the REST API:
97+
You can [configure application settings in Azure App Service](../app-service/configure-common.md#configure-app-settings) without checking them into a repository. You'll need to provide the following settings to the REST API:
10398

10499
| Application settings | Source | Notes |
105-
| :-------- | :------------| :-----------|
106-
|JumioSettings:AuthUsername | Jumio account configuration | |
107-
|JumioSettings:AuthPassword | Jumio account configuration | |
108-
|AppSettings:SigningCertThumbprint|Thumbprint of the created self-signed certificate| |
109-
|AppSettings:IdTokenSigningKey| Signing key created using PowerShell | |
110-
| AppSettings:IdTokenEncryptionKey |Encryption key created using PowerShell
111-
| AppSettings:IdTokenIssuer | Issuer to be used for the JWT token (a GUID value is preferred) |
112-
| AppSettings:IdTokenAudience | Audience to be used for the JWT token (a GUID value is preferred) |
113-
|AppSettings:BaseRedirectUrl | Base URL of the Azure AD B2C policy | https://{your-tenant-name}.b2clogin.com/{your-application-id}|
114-
| WEBSITE_LOAD_CERTIFICATES| Thumbprint of the created self-signed certificate |
100+
| --- | ---| ---|
101+
|JumioSettings:AuthUsername | Jumio account configuration | N/A |
102+
|JumioSettings:AuthPassword | Jumio account configuration | N/A |
103+
|AppSettings:SigningCertThumbprint|The created self-signed certificate thumbprint| N/A |
104+
|AppSettings:IdTokenSigningKey| Signing key created using PowerShell |N/A |
105+
|AppSettings:IdTokenEncryptionKey |Encryption key created using PowerShell|N/A|
106+
|AppSettings:IdTokenIssuer | Issuer for the JWT token (a GUID value is preferred) |N/A|
107+
|AppSettings:IdTokenAudience | Audience for the JWT token (a GUID value is preferred) |N/A|
108+
|AppSettings:BaseRedirectUrl | Azure AD B2C policy base URL | https://{your-tenant-name}.b2clogin.com/{your-application-id}|
109+
|WEBSITE_LOAD_CERTIFICATES| The created self-signed certificate thumbprint |N/A|
115110

116111
### Deploy the UI
117112

118113
1. Set up a [blob storage container in your storage account](../storage/blobs/storage-quickstart-blobs-portal.md#create-a-container).
119-
120-
2. Store the UI files from the [UI folder](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/UI) in your blob container.
114+
2. Store the UI files from the [/samples/Jumio/UI/](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/UI) in your blob container.
121115

122116
#### Update UI files
123117

124-
1. In the UI files, go to the folder [ocean_blue](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/UI/ocean_blue).
125-
118+
1. In the UI files, go to [/samples/Jumio/UI/ocean_blue/](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/UI/ocean_blue).
126119
2. Open each HTML file.
127-
128-
3. Find and replace `{your-ui-blob-container-url}` with the URL of your blob container.
129-
130-
4. Find and replace `{your-intermediate-api-url}` with the URL of the intermediate API app service.
120+
3. Find and replace `{your-ui-blob-container-url}` with your blob container URL.
121+
4. Find and replace `{your-intermediate-api-url}` with the intermediate API app service URL.
131122

132123
>[!NOTE]
133-
> As a best practice, we recommend that you add consent notification on the attribute collection page. Notify users that the information will be sent to third-party services for identity verification.
124+
> We recommend you add consent notification on the attribute collection page. Notify users the information goes to third-party services for identity verification.
134125
135126
### Configure the Azure AD B2C policy
136127

137-
1. Go to the [Azure AD B2C policy](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/Policies) in the Policies folder.
138-
139-
2. Follow [this article](tutorial-create-user-flows.md?pivots=b2c-custom-policy#custom-policy-starter-pack) to download the [LocalAccounts starter pack](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/LocalAccounts).
140-
128+
1. Go to the Azure AD B2C policy in [/samples/Jumio/Policies/](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Jumio/Policies).
129+
2. Use the instructions in [Custom policy starter pack](tutorial-create-user-flows.md?pivots=b2c-custom-policy#custom-policy-starter-pack) to download the [LocalAccounts](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/LocalAccounts) starter pack.
141130
3. Configure the policy for the Azure AD B2C tenant.
142131

143132
>[!NOTE]
144-
>Update the provided policies to relate to your specific tenant.
133+
>Update policies to relate to your tenant.
145134
146135
## Test the user flow
147136

148-
1. Open the Azure AD B2C tenant. Under **Policies**, select **Identity Experience Framework**.
149-
150-
2. Select your previously created **SignUpSignIn**.
151-
152-
3. Select **Run user flow** and then:
153-
154-
a. For **Application**, select the registered app (the sample is JWT).
137+
1. Open the Azure AD B2C tenant.
138+
2. Under **Policies**, select **Identity Experience Framework**.
139+
3. Select your created **SignUpSignIn**.
140+
4. Select **Run user flow**.
141+
5. For **Application**, select the registered app (example is JWT).
142+
6. For **Reply URL**, select the **redirect URL**.
143+
7. Select **Run user flow**.
144+
8. Complete the sign-up flow.
145+
9. Create an account.
146+
10. After the user attribute is created, Jumio is called.
155147

156-
b. For **Reply URL**, select the **redirect URL**.
157-
158-
c. Select **Run user flow**.
159-
160-
4. Go through the sign-up flow and create an account.
161-
162-
5. The Jumio service will be called during the flow, after the user attribute is created. If the flow is incomplete, check that the user isn't saved in the directory.
148+
>[!TIP]
149+
>If the flow is incomplete, confirm the user is, or isn't, saved in the directory.
163150
164151
## Next steps
165152

166-
For additional information, review the following articles:
167-
168153
- [Custom policies in Azure AD B2C](./custom-policy-overview.md)
169-
170154
- [Get started with custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy)

0 commit comments

Comments
 (0)