|
1 | 1 | ---
|
2 |
| -title: Tutorial for configuring Keyless with Azure Active Directory B2C |
| 2 | +title: Tutorial to configure Keyless with Azure Active Directory B2C |
3 | 3 | titleSuffix: Azure AD B2C
|
4 |
| -description: Tutorial for configuring Keyless with Azure Active Directory B2C for passwordless authentication |
| 4 | +description: Tutorial to configure Sift Keyless with Azure Active Directory B2C for passwordless authentication |
5 | 5 | services: active-directory-b2c
|
6 | 6 | author: gargi-sinha
|
7 |
| -manager: CelesteDG |
| 7 | +manager: martinco |
8 | 8 | ms.reviewer: kengaderdus
|
9 |
| - |
10 | 9 | ms.service: active-directory
|
11 | 10 | ms.workload: identity
|
12 | 11 | ms.topic: how-to
|
13 |
| -ms.date: 09/20/2021 |
| 12 | +ms.date: 03/06/2023 |
14 | 13 | ms.author: gasinh
|
15 | 14 | ms.subservice: B2C
|
16 | 15 | ---
|
17 | 16 |
|
18 | 17 | # Tutorial: Configure Keyless with Azure Active Directory B2C
|
19 | 18 |
|
20 |
| -In this sample tutorial, we provide guidance on how to configure Azure Active Directory (AD) B2C with [Keyless](https://keyless.io/). With Azure AD B2C as an Identity provider, you can integrate Keyless with any of your customer applications to provide true passwordless authentication to your users. |
21 |
| - |
22 |
| -Keyless's solution **Keyless Zero-Knowledge Biometric (ZKB™)** provides passwordless multifactor authentication that eliminates fraud, phishing, and credential reuse – all while enhancing customer experience and protecting their privacy. |
| 19 | +Learn to configure Azure Active Directory B2C (Azure AD B2C) with the Sift Keyless passwordless solution. With Azure AD B2C as an identity provider (IdP), integrate Keyless with customer applications to provide passwordless authentication. The Keyless Zero-Knowledge Biometric (ZKB) is passwordless multi-factor authentication that helps eliminate fraud, phishing, and credential reuse, while enhancing the customer experience and protecting privacy. |
23 | 20 |
|
24 |
| -## Pre-requisites |
| 21 | +Go to keyless.io to learn about: |
25 | 22 |
|
26 |
| -To get started, you'll need: |
| 23 | +* [Sift Keyless](https://keyless.io/) |
| 24 | +* [How Keyless uses zero-knowledge proofs to protect your biometric data](https://keyless.io/blog/post/how-keyless-uses-zero-knowledge-proofs-to-protect-your-biometric-data) |
27 | 25 |
|
28 |
| -- An Azure subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). |
| 26 | +## Prerequisites |
29 | 27 |
|
30 |
| -- An [Azure AD B2C tenant](./tutorial-create-tenant.md). Tenant must be linked to your Azure subscription. |
31 |
| - |
32 |
| -- A Keyless cloud tenant, get a free [trial account](https://keyless.io/go). |
| 28 | +To get started, you'll need: |
33 | 29 |
|
34 |
| -- The Keyless Authenticator app installed on your user’s device. |
| 30 | +* An Azure subscription |
| 31 | + * If you don't have one, get an [Azure free account](https://azure.microsoft.com/free/) |
| 32 | +* An [Azure AD B2C tenant](./tutorial-create-tenant.md) linked to the Azure subscription |
| 33 | +* A Keyless cloud tenant |
| 34 | + * Go to keyless.io to [Request a demo](https://keyless.io/go) |
| 35 | +* The Keyless Authenticator app installed on a user device |
35 | 36 |
|
36 | 37 | ## Scenario description
|
37 | 38 |
|
38 | 39 | The Keyless integration includes the following components:
|
39 | 40 |
|
40 |
| -- Azure AD B2C – The authorization server, responsible for verifying the user’s credentials, also known as the identity provider. |
| 41 | +* **Azure AD B2C** – authorization server that verifies user credentials. Also known as the IdP. |
| 42 | +* **Web and mobile applications** – mobile or web applications to protect with Keyless and Azure AD B2C |
| 43 | +* **The Keyless Authenticator mobile app** – Sift mobile app for authentication to the Azure AD B2C enabled applications |
41 | 44 |
|
42 |
| -- Web and mobile applications – Your mobile or web applications that you choose to protect with Keyless and Azure AD B2C. |
| 45 | +The following architecture diagram illustrates an implementation. |
43 | 46 |
|
44 |
| -- The Keyless mobile app – The Keyless mobile app will be used for authentication to the Azure AD B2C enabled applications. |
| 47 | +  |
45 | 48 |
|
46 |
| -The following architecture diagram shows the implementation. |
| 49 | +1. User arrives at a sign-in page. User selects sign-in/sign-up and enters the username. |
| 50 | +2. The application sends user attributes to Azure AD B2C for identity verification. |
| 51 | +3. Azure AD B2C sends user attributes to Keyless for authentication. |
| 52 | +4. Keyless sends a push notification to the users' registered mobile device for authentication, a facial biometric scan. |
| 53 | +5. The user responds to the push notification and is granted or denied access. |
47 | 54 |
|
48 |
| - |
| 55 | +## Add an IdP, configure the IdP, and create a user flow policy |
49 | 56 |
|
50 |
| -|Step | Description | |
51 |
| -|:-----| :-----------| |
52 |
| -| 1. | User arrives at a login page. Users select sign-in/sign-up and enters the username |
53 |
| -| 2. | The application sends the user attributes to Azure AD B2C for identity verification. |
54 |
| -| 3. | Azure AD B2C collects the user attributes and sends the attributes to Keyless to authenticate the user through the Keyless mobile app. |
55 |
| -| 4. | Keyless sends a push notification to the registered user's mobile device for a privacy-preserving authentication in the form of a facial biometric scan. |
56 |
| -| 5. | After the user responds to the push notification, the user is either granted or denied access to the customer application based on the verification results. |
57 |
| - |
58 |
| -## Integrate with Azure AD B2C |
| 57 | +Use the following sections to add an IdP, configure the IdP, and create a user flow policy. |
59 | 58 |
|
60 | 59 | ### Add a new Identity provider
|
61 | 60 |
|
62 |
| -To add a new Identity provider, follow these steps: |
63 |
| - |
64 |
| -1. Sign in to the **[Azure portal](https://portal.azure.com/#home)** as the global administrator of your Azure AD B2C tenant. |
65 |
| -1. Make sure you're using the directory that contains your Azure AD B2C tenant. Select the **Directories + subscriptions** icon in the portal toolbar. |
66 |
| -1. On the **Portal settings | Directories + subscriptions** page, find your Azure AD B2C directory in the **Directory name** list, and then select **Switch**. |
67 |
| -1. Choose **All services** in the top-left corner of the Azure portal, search for and select **Azure AD B2C**. |
68 |
| -1. Navigate to **Dashboard** > **Azure Active Directory B2C** > **Identity providers** |
69 |
| -1. Select **Identity providers**. |
70 |
| -1. Select **Add**. |
71 |
| - |
72 |
| -### Configure an Identity provider |
73 |
| - |
74 |
| -To configure an identity provider, follow these steps: |
75 |
| - |
76 |
| -1. Select **Identity provider type** > **OpenID Connect (Preview)** |
77 |
| -1. Fill out the form to set up the Identity provider: |
78 |
| - |
79 |
| - |Property | Value | |
80 |
| - |:-----| :-----------| |
81 |
| - | Name | Keyless | |
82 |
| - | Metadata URL | Insert the URI of the hosted Keyless Authentication app, followed by the specific path such as 'https://keyless.auth/.well-known/openid-configuration' | |
83 |
| - | Client Secret | The secret associated with the Keyless Authentication instance - not same as the one configured before. Insert a complex string of your choice. This secret will be used later in the Keyless Container configuration.| |
84 |
| - | Client ID | The ID of the client. This ID will be used later in the Keyless Container configuration.| |
85 |
| - | Scope | openid | |
86 |
| - | Response type | id_token | |
87 |
| - | Response mode | form_post| |
88 |
| - |
89 |
| -1. Select **OK**. |
90 |
| - |
91 |
| -1. Select **Map this identity provider’s claims**. |
92 |
| - |
93 |
| -1. Fill out the form to map the Identity provider: |
94 |
| - |
95 |
| - |Property | Value | |
96 |
| - |:-----| :-----------| |
97 |
| - | UserID | From subscription | |
98 |
| - | Display name | From subscription | |
99 |
| - | Response mode | From subscription | |
100 |
| - |
101 |
| -1. Select **Save** to complete the setup for your new Open ID Connect (OIDC) Identity provider. |
| 61 | +To add a new Identity provider: |
| 62 | + |
| 63 | +1. Sign in to the [Azure portal](https://portal.azure.com/#home) as Global Administrator of the Azure AD B2C tenant. |
| 64 | +2. Select **Directories + subscriptions**. |
| 65 | +3. On the **Portal settings, Directories + subscriptions** page, in the **Directory name** list, find your Azure AD B2C directory. |
| 66 | +4. Select **Switch**. |
| 67 | +5. In the top-left corner of the Azure portal, select **All services**. |
| 68 | +6. Search for and select **Azure AD B2C**. |
| 69 | +7. Navigate to **Dashboard** > **Azure Active Directory B2C** > **Identity providers**. |
| 70 | +8. Select **Identity providers**. |
| 71 | +9. Select **Add**. |
| 72 | + |
| 73 | +### Configure an identity provider |
| 74 | + |
| 75 | +To configure an IdP: |
| 76 | + |
| 77 | +1. Select **Identity provider type** > **OpenID Connect (Preview)**. |
| 78 | +2. For **Name**, select **Keyless**. |
| 79 | +3. For **Metadata URL**, insert the hosted Keyless Authentication app URI, followed by the path, such as `https://keyless.auth/.well-known/openid-configuration`. |
| 80 | +4. For **Client Secret**, select the secret associated with the Keyless Authentication instance. The secret is used later in Keyless Container configuration. |
| 81 | +5. For **Client ID**, select the client ID. The Client ID is used later in Keyless Container configuration. |
| 82 | +6. For **Scope**, select **openid**. |
| 83 | +7. For **Response type**, select **id_token**. |
| 84 | +8. For **Response mode**, select **form_post**. |
| 85 | +9. Select **OK**. |
| 86 | +10. Select **Map this identity provider’s claims**. |
| 87 | +11. For **UserID**, select **From subscription**. |
| 88 | +12. For **Display name**, select **From subscription**. |
| 89 | +13. For **Response mode**, select **From subscription**. |
| 90 | +14. Select **Save**. |
102 | 91 |
|
103 | 92 | ### Create a user flow policy
|
104 | 93 |
|
105 |
| -You should now see Keyless as a new OIDC Identity provider listed within your B2C identity providers. |
106 |
| - |
107 |
| -1. In your Azure AD B2C tenant, under **Policies**, select **User flows**. |
108 |
| - |
109 |
| -2. Select **New** user flow. |
110 |
| - |
111 |
| -3. Select **Sign up and sign in**, select a **version**, and then select **Create**. |
112 |
| - |
113 |
| -4. Enter a **Name** for your policy. |
114 |
| - |
115 |
| -5. In the Identity providers section, select your newly created Keyless Identity Provider. |
116 |
| - |
117 |
| -6. Set up the parameters of your User flow. Insert a name and select the Identity provider you’ve created. You can also add email address. In this case, Azure won’t redirect the login procedure directly to Keyless instead it will show a screen where the user can choose the option they would like to use. |
118 |
| - |
119 |
| -7. Leave the **Multi-factor Authentication** field as is. |
120 |
| - |
121 |
| -8. Select **Enforce conditional access policies** |
122 |
| - |
123 |
| -9. Under **User attributes and token claims**, select **Email Address** in the Collect attribute option. You can add all the attributes that Azure Active Directory can collect about the user alongside the claims that Azure AD B2C can return to the client application. |
124 |
| - |
125 |
| -10. Select **Create**. |
126 |
| - |
127 |
| -11. After a successful creation, select your new **User flow**. |
128 |
| - |
129 |
| -12. On the left panel, select **Application Claims**. Under options, tick the **email** checkbox and select **Save**. |
| 94 | +Keyless appears as a new OpenID Connect (OIDC) IdP with B2C identity providers. |
| 95 | + |
| 96 | +1. Open the Azure AD B2C tenant. |
| 97 | +2. Under **Policies**, select **User flows**. |
| 98 | +3. Select **New** user flow. |
| 99 | +4. Select **Sign up and sign in**. |
| 100 | +5. Select a **version**. |
| 101 | +6. Select **Create**. |
| 102 | +7. Enter a **Name** for your policy. |
| 103 | +8. In the Identity providers section, select the created Keyless Identity Provider. |
| 104 | +9. Enter a name. |
| 105 | +10. Select the IdP you created. |
| 106 | +11. Add an email address. Azure won’t redirect the sign-in to Keyless; a screen appears with a user option. |
| 107 | +12. Leave the **Multi-factor Authentication** field. |
| 108 | +13. Select **Enforce conditional access policies**. |
| 109 | +14. Under **User attributes and token claims**, in the **Collect attribute** option, select **Email Address**. |
| 110 | +15. Add user attributes Azure AD collects with claims Azure AD B2C returns to the client application. |
| 111 | +16. Select **Create**. |
| 112 | +17. Select the new **User flow**. |
| 113 | +18. On the left panel, select **Application Claims**. |
| 114 | +19. Under options, select the **email** checkbox. |
| 115 | +20. Select **Save**. |
130 | 116 |
|
131 | 117 | ## Test the user flow
|
132 | 118 |
|
133 |
| -1. Open the Azure AD B2C tenant and under Policies select Identity Experience Framework. |
134 |
| - |
135 |
| -2. Select your previously created SignUpSignIn. |
136 |
| - |
137 |
| -3. Select Run user flow and select the settings: |
138 |
| - |
139 |
| - a. Application: select the registered app (sample is JWT) |
140 |
| - |
141 |
| - b. Reply URL: select the redirect URL |
| 119 | +1. Open the Azure AD B2C tenant. |
| 120 | +2. Under **Policies** select **Identity Experience Framework**. |
| 121 | +3. Select the created SignUpSignIn. |
| 122 | +4. Select **Run user flow**. |
| 123 | +5. For **Application**, select the registered app (the example is JWT). |
| 124 | +6. For **Reply URL**, select the redirect URL. |
| 125 | +7. Select **Run user flow**. |
| 126 | +8. Complete the sign-up flow and create an account. |
| 127 | +9. After the user attribute is created, Keyless is called during the flow. |
142 | 128 |
|
143 |
| - c. Select Run user flow. |
144 |
| - |
145 |
| -4. Go through sign-up flow and create an account |
146 |
| - |
147 |
| -5. Keyless will be called during the flow, after user attribute is created. If the flow is incomplete, check that user isn't saved in the directory. |
| 129 | +If the flow is incomplete, confirm user is or isn't saved in the directory. |
148 | 130 |
|
149 | 131 | ## Next steps
|
150 | 132 |
|
151 |
| -For additional information, review the following articles: |
152 |
| - |
153 |
| -- [Custom policies in Azure AD B2C](./custom-policy-overview.md) |
154 |
| - |
155 |
| -- [Get started with custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy) |
| 133 | +* [Azure AD B2C custom policy overview](./custom-policy-overview.md) |
| 134 | +* [Tutorial: Create user flows and custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy) |
0 commit comments