Skip to content

Commit c75512e

Browse files
Merge pull request #219810 from v-edmckillop/patch-31
Update partner-experian.md
2 parents 73d2e3c + f424205 commit c75512e

File tree

1 file changed

+88
-94
lines changed

1 file changed

+88
-94
lines changed

articles/active-directory-b2c/partner-experian.md

Lines changed: 88 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ titleSuffix: Azure AD B2C
44
description: Learn how to integrate Azure AD B2C authentication with Experian for Identification verification and proofing based on user attributes to prevent fraud.
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: 09/13/2022
12+
ms.date: 12/6/2022
1413
ms.author: gasinh
1514
ms.subservice: B2C
1615
---
17-
# Tutorial for configuring Experian with Azure Active Directory B2C
16+
# Tutorial: Configure Experian with Azure Active Directory B2C
17+
18+
In this tutorial, learn how to integrate Azure Active Directory B2C (Azure AD B2C) with Experian CrossCore, a service that verifies user identification. It does risk analysis based on information provided by the user during sign-up. CrossCore permits users to sign in, or not.
1819

19-
In this sample tutorial, we provide guidance on how to integrate Azure AD B2C with [Experian](https://www.experian.com/decision-analytics/account-opening-fraud/microsoft-integration). Experian provides a variety of solutions, which you can find [here](https://www.experian.com/).
20+
Learn more about [Experian](https://www.experian.com/decision-analytics/account-opening-fraud/microsoft-integration) solutions, services, etc.
2021

21-
In this sample, Experian's integrated digital identity and fraud risk platform **CrossCore** is used. CrossCore is an ID verification service that is used to verify user identification. It does risk analysis based on several pieces of information provided by the user during sign-up flow. CrossCore is used to determine whether the user should be allowed to continue to log in or not. The following attributes can be used in CrossCore risk analysis:
22+
In this tutorial, you can use the following attributes in CrossCore risk analysis:
2223

2324
- Email
2425
- IP Address
@@ -27,143 +28,136 @@ In this sample, Experian's integrated digital identity and fraud risk platform *
2728
- Surname
2829
- Street Address
2930
- City
30-
- State/Province
31+
- State or Province
3132
- Postal Code
32-
- Country/Region
33+
- Country or Region
3334
- Phone Number
3435

3536
## Prerequisites
3637

3738
To get started, you'll need:
3839

39-
- An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
40-
41-
- [An Azure AD B2C tenant](./tutorial-create-tenant.md) that is linked to your Azure subscription.
40+
- An Azure AD subscription
41+
- If you don't have one, you can get an [Azure free account](https://azure.microsoft.com/free/)
42+
- [An Azure AD B2C tenant](./tutorial-create-tenant.md) linked to your Azure subscription
4243

4344
## Scenario description
4445

4546
The Experian integration includes the following components:
4647

47-
- Azure AD B2C – The authorization server, responsible for verifying the user's credentials, also known as the identity provider
48-
49-
- Experian – The Experian service takes inputs provided by the user and verifies the user's identity
50-
51-
- Custom REST API – This API implements the integration between Azure AD B2C and the Experian service.
48+
- **Azure AD B2C**: The authorization server that verifies user credentials, also known as the identity provider (IdP)
49+
- **Experian CrossCore**: The service takes inputs from the user and verifies their identity
50+
- **Custom REST API**: This implements the integration between Azure AD B2C and CrossCore
5251

5352
The following architecture diagram shows the implementation.
5453

55-
![screenshot for experian-architecture-diagram](media/partner-experian/experian-architecture-diagram.png)
54+
![Diagram of the Experian architecture.](media/partner-experian/experian-architecture-diagram.png)
5655

57-
|Step | Description |
58-
|:-----| :-----------|
59-
| 1. | User arrives at a login page. User selects sign-up to create a new account and enters information into the page. Azure AD B2C collects the user attributes.
60-
| 2. | Azure AD B2C calls the middle layer API and passes on the user attributes.
61-
| 3. | Middle layer API collects user attributes and transforms it into a format that Experian API could consume. Then, sends it to Experian.
62-
| 4. | Experian consumes the information and processes it to validate user identification based on the risk analysis. Then, it returns the result to the middle layer API.
63-
| 5. | Middle layer API processes the information and sends back relevant information in the correct JSON format to Azure AD B2C.
64-
| 6. | Azure AD B2C receives information back from 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.
56+
1. User arrives at sign-in page, creates a new account, and enters information. Azure AD B2C collects user attributes.
57+
2. Azure AD B2C calls the middle-layer API and passes the user attributes.
58+
3. Middle-layer API collects user attributes and transforms it into an Experian CrossCore-ready format. Then, sends it to Experian CrossCore.
59+
4. Experian consumes the information validates user identification based on risk analysis. Then, it returns the result to the middle-layer API.
60+
5. Middle-layer API processes the information and sends relevant information in a JSON format to Azure AD B2C.
61+
6. Azure AD B2C receives information from middle-layer API. With a failure, an error message appears. With success, the user is authenticated and written into the directory.
6562

6663
## Onboard with Experian
6764

68-
1. To create an Experian account, contact [Experian](https://www.experian.com/decision-analytics/account-opening-fraud/microsoft-integration)
69-
70-
2. Once an account is created, you'll receive the information you need for API configuration. The following sections describe the process.
65+
1. Create an Experian account. To get started, go to [Experian](https://www.experian.com/decision-analytics/account-opening-fraud/microsoft-integration) and scroll to the bottom for the contact form.
66+
2. When an account is created, you receive information for API configuration. The following sections continue the process.
7167

7268
## Configure Azure AD B2C with Experian
7369

74-
### Part 1 - Deploy the API
70+
### Deploy the API
7571

76-
Deploy the provided [API code](https://github.com/azure-ad-b2c/partner-integrations/blob/master/samples/Experian/CrossCoreIntegrationApi/CrossCoreIntegrationApi.sln) to an Azure service. The code can be published from Visual Studio, following these [instructions](/visualstudio/deployment/quickstart-deploy-to-azure).
72+
1. Deploy the partner-integration to an Azure service: Go to [/CrossCoreIntegrationApi.sln](https://github.com/azure-ad-b2c/partner-integrations/blob/master/samples/Experian/CrossCoreIntegrationApi/CrossCoreIntegrationApi.sln).
73+
2. Publish the code from Visual Studio.
7774

7875
>[!NOTE]
79-
>You'll need the URL of the deployed service to configure Azure AD with the required settings.
76+
>Use the deployed service URL to configure Azure AD with the required settings.
77+
78+
### Deploy the client certificate
79+
80+
The Experian API call is protected by a client certificate, provided by Experian.
8081

81-
### Part 2 - Deploy the client certificate
82+
1. Follow the instructions in [Private client certificate](../app-service/environment/certificates.md#private-client-certificate).
83+
2. Upload the certificate to the Azure App service.
8284

83-
The Experian API call is protected by a client certificate. This client certificate will be provided by Experian. Following the instructions mentioned in this [document](../app-service/environment/certificates.md#private-client-certificate), the certificate must be uploaded to the Azure App service. The sample policy uses these keys steps in the process:
85+
The sample policy has two steps:
8486

85-
- Upload the certificate
87+
1. Upload the certificate.
88+
2. Set the `WEBSITE_LOAD_ROOT_CERTIFICATES` key with the thumbprint of the certificate.
8689

87-
- Set the `WEBSITE_LOAD_ROOT_CERTIFICATES` key with the thumbprint of the certificate.
90+
### Configure the API
8891

89-
### Part 3 - Configure the API
92+
Application settings can be [configured in the App service in Azure](../app-service/configure-common.md#configure-app-settings). Use this method to configure settings without checking them into a repository.
9093

91-
Application settings can be [configured in the App service in Azure](../app-service/configure-common.md#configure-app-settings). With this method, settings can be securely configured without checking them into a repository. You'll need to provide the following settings to the REST API:
94+
Provide the following application settings to the REST API:
9295

9396
| Application settings | Source | Notes |
94-
| :-------- | :------------| :-----------|
95-
|CrossCoreConfig:TenantId | Experian account configuration | |
96-
|CrossCoreConfig:OrgCode | Experian account configuration | |
97-
|CrossCore:ApiEndpoint |Experian account configuration| |
98-
|CrossCore:ClientReference | Experian account configuration | |
99-
| CrossCore:ModelCode |Experian account configuration|
100-
| CrossCore:OrgCode | Experian account configuration |
101-
| CrossCore:SignatureKey | Experian account configuration |
102-
| CrossCore:TenantId | Experian account configuration |
103-
| CrossCore:CertificateThumbprint | Experian certificate |
104-
| BasicAuth:ApiUsername | Define a username for the API | Used in the ExtId configuration |
105-
| BasicAuth:ApiPassword | Define a password for the API | Used in the ExtId configuration
106-
107-
### Part 4 - Create API policy keys
108-
109-
Refer to this [document](./secure-rest-api.md#add-rest-api-username-and-password-policy-keys) and create two policy keys – one for the API username, and one for the API password that you defined above for HTTP basic authentication.
97+
| --- | ---| ---|
98+
|CrossCoreConfig:TenantId | Experian account configuration |N/A|
99+
|CrossCoreConfig:OrgCode | Experian account configuration |N/A|
100+
|CrossCore:ApiEndpoint |Experian account configuration|N/A|
101+
|CrossCore:ClientReference | Experian account configuration |N/A|
102+
|CrossCore:ModelCode |Experian account configuration|N/A|
103+
|CrossCore:OrgCode | Experian account configuration |N/A|
104+
|CrossCore:SignatureKey | Experian account configuration |N/A|
105+
|CrossCore:TenantId | Experian account configuration |N/A|
106+
|CrossCore:CertificateThumbprint | Experian certificate |N/A|
107+
|BasicAuth:ApiUsername | Define a username for the API | Used in the ExtId configuration |
108+
|BasicAuth:ApiPassword | Define a password for the API | Used in the ExtId configuration|
109+
110+
### Create API policy keys
111+
112+
Refer to [Custom policy starter pack](./secure-rest-api.md#add-rest-api-username-and-password-policy-keys) to create two policy keys, one each for:
113+
114+
* API username
115+
* API password you defined for HTTP basic authentication
110116

111117
>[!NOTE]
112-
>You'll need the keys for configuring the policies later.
118+
>Later, you will need the keys for configuring the policies.
113119
114-
### Part 5 - Replace the configuration values
120+
### Replace the configuration values
115121

116-
In the provided [custom policies](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Experian/policy), find the following placeholders and replace with the corresponding values from your instance
122+
In the partner-integration [custom policies](https://github.com/azure-ad-b2c/partner-integrations/tree/master/samples/Experian/policy), find the following placeholders and replace with the corresponding values from your instance
117123

118-
| Placeholder | Replace with value | Example |
119-
| ------------------------------------------------------ | -------------------------------------------------------------------------------- | -------------------------------------------- |
120-
| {your_tenant_name} | Your tenant short name | "yourtenant" from yourtenant.onmicrosoft.com |
121-
| {your_trustframeworkbase_policy} | Azure AD B2C name of your TrustFrameworkBase policy | B2C_1A_experian_TrustFrameworkBase |
122-
| {your_tenant_IdentityExperienceFramework_appid} | App ID of the IdentityExperienceFramework app configured in your Azure AD B2C tenant | 01234567-89ab-cdef-0123-456789abcdef |
123-
| {your_tenant_ ProxyIdentityExperienceFramework _appid} | App ID of the ProxyIdentityExperienceFramework app configured in your Azure AD B2C tenant | 01234567-89ab-cdef-0123-456789abcdef |
124-
| {your_tenant_extensions_appid} | App ID of your tenant's storage application | 01234567-89ab-cdef-0123-456789abcdef |
125-
| {your_tenant_extensions_app_objectid} | Object ID of your tenant's storage application | 01234567-89ab-cdef-0123-456789abcdef |
126-
| {your_api_username_key_name} | Name of the username key you created [here](#part-4---create-api-policy-keys) | B2C\_1A\_RestApiUsername |
127-
| {your_api_password_key_name} | Name of the password key you created [here](#part-4---create-api-policy-keys) | B2C\_1A\_RestApiPassword |
128-
| {your_app_service_URL} | URL of the app service you've set up | `https://yourapp.azurewebsites.net` |
124+
|Placeholder|Replace with value|Example |
125+
| --- | --- | --- |
126+
| {your_tenant_name} | Your tenant short name | "yourtenant" from yourtenant.onmicrosoft.com |
127+
| {your_trustframeworkbase_policy} | Azure AD B2C name of your TrustFrameworkBase policy| B2C_1A_experian_TrustFrameworkBase|
128+
| {your_tenant_IdentityExperienceFramework_appid} |App ID of the IdentityExperienceFramework app configured in your Azure AD B2C tenant| 01234567-89ab-cdef-0123-456789abcdef|
129+
| {your_tenant_ ProxyIdentityExperienceFramework_appid}| App ID of the ProxyIdentityExperienceFramework app configured in your Azure AD B2C tenant | 01234567-89ab-cdef-0123-456789abcdef|
130+
| {your_tenant_extensions_appid} | App ID of your tenant storage application| 01234567-89ab-cdef-0123-456789abcdef|
131+
| {your_tenant_extensions_app_objectid}| Object ID of your tenant storage application| 01234567-89ab-cdef-0123-456789abcdef|
132+
| {your_api_username_key_name}| Username key name, made in **Create API policy keys**| B2C\_1A\_RestApiUsername|
133+
| {your_api_password_key_name}| Password key name, made in **Create API policy keys**| B2C\_1A\_RestApiPassword|
134+
| {your_app_service_URL}| App service URL you set up| `https://yourapp.azurewebsites.net`|
129135

130-
### Part 6 - Configure the Azure AD B2C policy
136+
### Configure the Azure AD B2C policy
131137

132-
Refer to this [document](./tutorial-create-user-flows.md?pivots=b2c-custom-policy#custom-policy-starter-pack) for instructions on how to set up your Azure AD B2C tenant and configure policies.
138+
Refer to [Custom policy starter pack](./tutorial-create-user-flows.md?pivots=b2c-custom-policy#custom-policy-starter-pack) for instructions to set up your Azure AD B2C tenant and configure policies.
133139

134140
>[!NOTE]
135-
>This sample policy is based on [Local Accounts starter
136-
pack](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/LocalAccounts).
141+
>This sample policy is based on [Active Directory B2C custom policy starterpack/LocalAccounts](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/LocalAccounts).
137142
138-
>[!NOTE]
139-
> As a best practice, we recommend that customers add consent notification in the attribute collection page. Notify users that information will be send to third-party services for Identity verification.
143+
>[!TIP]
144+
> We recommend that customers add consent notification in the attribute collection page. Notify users that information goes to third-party services for identity verification.
140145
141146
## Test the user flow
142147

143-
1. Open the Azure AD B2C tenant and under Policies select **User flows**.
144-
148+
1. Open the Azure AD B2C tenant and under **Policies** select **User flows**.
145149
2. Select your previously created **User Flow**.
146-
147-
3. Select **Run user flow** and select the settings:
148-
149-
a. **Application**: select the registered app (sample is JWT)
150-
151-
b. **Reply URL**: select the **redirect URL**
152-
153-
c. Select **Run user flow**.
154-
155-
4. Go through sign-up flow and create an account
156-
157-
5. Log-out
158-
159-
6. Go through sign-in flow
160-
161-
7. CrossCore puzzle will pop up after you enter **continue**.
150+
3. Select **Run user flow**.
151+
4. **Application**: the registered app (example is JWT).
152+
5. **Reply URL**: **redirect URL**.
153+
6. Select **Run user flow**.
154+
7. Complete sign-up flow and create an account.
155+
8. Sign out.
156+
9. Complete sign-in flow.
157+
10. Select **continue**
158+
11. CrossCore puzzle appears.
162159

163160
## Next steps
164161

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

0 commit comments

Comments
 (0)