Skip to content

Commit 40189c0

Browse files
Merge pull request #2194 from rachit-lambdatest/main
Adding sso oidc documentation
2 parents 6d57394 + 36c8318 commit 40189c0

File tree

8 files changed

+287
-0
lines changed

8 files changed

+287
-0
lines changed
71.9 KB
Loading
68.9 KB
Loading
151 KB
Loading
95.2 KB
Loading
55 KB
Loading
32.1 KB
Loading

docs/lambdatest-sso-oidc.md

Lines changed: 282 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,282 @@
1+
---
2+
id: lambdatest-sso-oidc
3+
title: LambdaTest SSO Integration Using OIDC
4+
hide_title: true
5+
sidebar_label: OIDC Integration
6+
description: Integrate your identity provider with your LambdaTest organization through OIDC (OpenID Connect) for seamless single sign-on authentication.
7+
keywords:
8+
- sso
9+
- lambdatest sso
10+
- oidc
11+
- openid connect
12+
- identity provider
13+
- managed sso
14+
- azure ad
15+
- google workspace
16+
- okta
17+
url: https://www.lambdatest.com/support/docs/lambdatest-sso-oidc/
18+
site_name: LambdaTest
19+
slug: lambdatest-sso-oidc/
20+
---
21+
22+
<script type="application/ld+json"
23+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
24+
"@context": "https://schema.org",
25+
"@type": "BreadcrumbList",
26+
"itemListElement": [{
27+
"@type": "ListItem",
28+
"position": 1,
29+
"name": "LambdaTest",
30+
"item": "https://www.lambdatest.com"
31+
},{
32+
"@type": "ListItem",
33+
"position": 2,
34+
"name": "Support",
35+
"item": "https://www.lambdatest.com/support/docs/"
36+
},{
37+
"@type": "ListItem",
38+
"position": 3,
39+
"name": "OIDC Integration",
40+
"item": "https://www.lambdatest.com/support/docs/lambdatest-sso-oidc/"
41+
}]
42+
})
43+
}}
44+
></script>
45+
46+
# LambdaTest SSO Integration Using OIDC
47+
48+
* * *
49+
50+
LambdaTest provides seamless Single Sign-On (SSO) integration with various identity providers using OpenID Connect (OIDC), enabling your team to access LambdaTest using their existing organizational credentials. This managed SSO solution streamlines user management and enhances security by centralizing authentication through your identity provider.
51+
52+
This comprehensive guide will walk you through configuring OIDC-based SSO between your LambdaTest organization and your identity provider, using Azure AD as the example throughout the documentation.
53+
54+
55+
## What is OIDC (OpenID Connect)?
56+
57+
* * *
58+
59+
OpenID Connect (OIDC) is a simple identity layer built on top of the OAuth 2.0 protocol. It allows clients to verify the identity of the end-user based on the authentication performed by an authorization server, as well as to obtain basic profile information about the end-user in an interoperable and REST-like manner.
60+
61+
**Key Benefits of OIDC:**
62+
- **Simplified Integration**: Easier to implement compared to SAML
63+
- **Modern Standard**: Built on OAuth 2.0, widely adopted
64+
- **RESTful**: Uses JSON and HTTP, making it developer-friendly
65+
- **Flexible**: Supports various authentication flows
66+
- **Secure**: Industry-standard security practices
67+
68+
## Prerequisites
69+
70+
* * *
71+
72+
To enable LambdaTest SSO through OIDC integration, you will need:
73+
74+
- **Identity Provider Access**: Administrative access to your identity provider
75+
- **LambdaTest Enterprise Plan**: An active LambdaTest organization subscription
76+
- **Administrative Access**: Admin-level access to your LambdaTest organization
77+
- **SSO Request**: Contact LambdaTest support to enable SSO for your organization
78+
79+
> **Note**: If you don't have SSO enabled for your LambdaTest organization, please contact our support team at [[email protected]](mailto:[email protected])
80+
.
81+
82+
## Step-by-Step Integration Guide
83+
84+
* * *
85+
86+
### Step 1: Create Application in Your Identity Provider
87+
88+
The exact steps vary by identity provider, but the general process involves creating a new application or client registration. We'll use Azure AD as our example:
89+
1. **Access Azure Portal**: Sign in to the [Azure Portal](https://portal.azure.com/) using an administrator account.
90+
91+
2. **Navigate to App Registrations**: In the Azure Portal, search for "App registrations" in the search bar and select it from the results.
92+
93+
3. **Create New Registration**: Click **New registration** to create a new application registration.
94+
95+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-registration.png').default} alt="Azure App Registration" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
96+
97+
4. **Configure Application Details**:
98+
- **Name**: Enter a descriptive name such as "LambdaTest SSO" or "LambdaTest OIDC Integration"
99+
- **Supported account types**: Select "Accounts in this organizational directory only"
100+
- **Redirect URI**: Leave this blank for now (we'll configure it later)
101+
- Click **Register** to create the application
102+
103+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-registration-2.png').default} alt="Azure App Registration" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
104+
105+
106+
### Step 2: Configure Application Settings
107+
108+
1. **Access Application Overview**: After registration, you'll be redirected to the application overview page.
109+
110+
2. **Copy Client ID**:
111+
- Note down the **Client ID** (also called Application ID in Azure AD) - you'll need this for LambdaTest configuration
112+
- This unique identifier represents your application in your identity provider
113+
114+
3. **Copy Tenant/Domain Information**:
115+
- Note down the **Directory (tenant) ID** - this identifies your Azure AD tenant
116+
- You'll need this for the OpenID Connect metadata document URL
117+
118+
### Step 3: Create Client Secret
119+
120+
1. **Navigate to Certificates & Secrets**: In your application's left sidebar, click **Certificates & secrets**.
121+
122+
2. **Create New Client Secret**:
123+
- Click **New client secret**
124+
- **Description**: Enter a descriptive name like "LambdaTest SSO Secret"
125+
- **Expires**: Select your preferred expiration period (recommended: 24 months)
126+
- Click **Add**
127+
128+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-client-secret-create.png').default} alt="Azure App Client Register" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
129+
130+
3. **Copy Secret Value**:
131+
- **Important**: Copy the secret value immediately - it won't be shown again
132+
- Store this securely as you'll need it for LambdaTest configuration
133+
134+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-client-secret.png').default} alt="Azure Client Secret" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
135+
136+
> **Important**: Store the client secret securely as you'll need it for LambdaTest configuration. Most providers only show the secret once.
137+
138+
### Step 4: Configure Redirect URI
139+
140+
1. **Navigate to Authentication**: In your application's left sidebar, click **Authentication**.
141+
142+
2. **Add Redirect URI**:
143+
- Click **Add a platform**
144+
- Select **Web**
145+
- **Redirect URI**: Enter the redirect URI provided by LambdaTest (typically: `https://lambdatest.auth0.com/login/callback`)
146+
- Click **Save**
147+
148+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-redirect.png').default} alt="Azure Redirect URI" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
149+
150+
### Step 5: Collect OpenID Connect Metadata
151+
152+
1. **Get Well-Known OIDC URL**: The OpenID Connect well-known configuration URL follows this pattern:
153+
```
154+
https://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration
155+
```
156+
Replace `{tenant-id}` with your Directory (tenant) ID from Step 2.
157+
158+
**Examples of Well-Known OIDC URLs:**
159+
- **Azure AD**: `https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration`
160+
- **Google Workspace**: `https://accounts.google.com/.well-known/openid-configuration`
161+
- **Okta**: `https://yourcompany.okta.com/.well-known/openid-configuration`
162+
- **Auth0**: `https://yourdomain.auth0.com/.well-known/openid-configuration`
163+
164+
2. **Verify Well-Known URL**: You can test the URL in your browser to ensure it returns valid JSON configuration.
165+
166+
<img loading="lazy" src={require('../assets/images/lambdatest-sso-oidc/app-oidc-metadata.png').default} alt="Azure Metadata URL" width="944" height="487" className="doc_img" style={{border: '1px solid #000'}}/>
167+
168+
> **Verify Well-Known URL**: Test the URL in your browser to ensure it returns valid JSON configuration.
169+
170+
### Step 6: Contact LambdaTest Support for OIDC Configuration
171+
172+
Since OIDC integration requires server-side configuration, you cannot create the connection directly through the LambdaTest interface. Instead, you need to contact our support team to configure the OIDC integration for you.
173+
174+
1. **Gather Required Information**: Collect the following details from your identity provider configuration:
175+
- **Client ID**: The client ID from Step 2
176+
- **Client Secret**: The secret value from Step 3
177+
- **OpenID Connect Metadata URL**: The metadata document URL from Step 5
178+
- **Connection Name**: A descriptive name like "Company OIDC" or "LambdaTest SSO"
179+
180+
2. **Contact LambdaTest Support**: Reach out to our support team with the configuration details:
181+
- **Email**: [[email protected]](mailto:[email protected])
182+
183+
3. **Provide Configuration Details**: Include the following information in your support request:
184+
```
185+
Identity Provider: Azure AD
186+
Client ID: [Your Application (client) ID]
187+
Client Secret: [Your Client Secret]
188+
Well-Known OIDC URL: [Your OIDC Well-Known URL]
189+
Connection Name: [Unique Connection Name]
190+
```
191+
192+
4. **Wait for Configuration**: Our support team will configure the OIDC integration on your behalf.
193+
194+
### Step 7: Configure User Access (Optional)
195+
196+
1. **Set User Assignment**: In Azure AD, navigate to your application and click **Users and groups**.
197+
198+
2. **Assign Users**:
199+
- Click **Add user/group**
200+
- Select the users or groups who should have access to LambdaTest
201+
- Click **Assign**
202+
203+
3. **Configure App Roles** (if needed): You can define custom app roles for different access levels within LambdaTest.
204+
205+
206+
## Testing Your OIDC Integration
207+
208+
* * *
209+
210+
### Method 1: Direct SSO Login
211+
212+
1. **Access LambdaTest SSO**: Navigate to [https://accounts.lambdatest.com/sso](https://accounts.lambdatest.com/sso)
213+
214+
2. **Enter Email**: Enter your Azure AD email address
215+
216+
3. **Initiate SSO**: Click **CONTINUE WITH SSO**
217+
218+
4. **Complete Authentication**: You'll be redirected to Microsoft's login page. Enter your Azure AD credentials.
219+
220+
5. **Verify Success**: After successful authentication, you should be redirected to your LambdaTest organization.
221+
222+
223+
### Method 2: Direct OIDC Login (For Testing)
224+
225+
Since OIDC doesn't support classic IDP-based SSO login, you can use this URL to simulate the login process:
226+
227+
```
228+
https://accounts.lambdatest.com/auth0/login?connection={connection-name}
229+
```
230+
231+
Replace `{connection-name}` with the connection name you created in LambdaTest.
232+
233+
## Troubleshooting Common Issues
234+
235+
* * *
236+
237+
### Application Not Found
238+
- **Issue**: "Application not found" error during login
239+
- **Solution**: Verify that the Application (Client) ID is correct and the application is properly registered in Azure AD
240+
241+
### Invalid Client Secret
242+
- **Issue**: "Invalid client secret" error
243+
- **Solution**: Ensure the client secret is correctly copied and hasn't expired. Create a new secret if needed.
244+
245+
### Redirect URI Mismatch
246+
- **Issue**: "Redirect URI mismatch" error
247+
- **Solution**: Verify that the redirect URI in Azure AD exactly matches the one provided by LambdaTest
248+
249+
### User Not Assigned
250+
- **Issue**: "User not assigned to application" error
251+
- **Solution**: Ensure the user is assigned to the application in Azure AD under Users and groups
252+
253+
### Well-Known URL Issues
254+
- **Issue**: "Invalid well-known URL" error
255+
- **Solution**: Verify the OpenID Connect well-known URL is accessible and contains valid JSON configuration
256+
257+
### Domain Configuration
258+
- **Issue**: Users from different domains cannot access LambdaTest
259+
- **Solution**: Ensure all required domains are configured in both Azure AD and LambdaTest settings
260+
261+
262+
263+
264+
<nav aria-label="breadcrumbs">
265+
<ul className="breadcrumbs">
266+
<li className="breadcrumbs__item">
267+
<a className="breadcrumbs__link" href="https://www.lambdatest.com">
268+
Home
269+
</a>
270+
</li>
271+
<li className="breadcrumbs__item">
272+
<a className="breadcrumbs__link" target="_self" href="https://www.lambdatest.com/support/docs/">
273+
Support
274+
</a>
275+
</li>
276+
<li className="breadcrumbs__item breadcrumbs__item--active">
277+
<span className="breadcrumbs__link">
278+
OIDC Integration
279+
</span>
280+
</li>
281+
</ul>
282+
</nav>

sidebars.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4315,6 +4315,11 @@ module.exports = {
43154315
label: "PingIdentity",
43164316
id: "lambdatest-sso-pingidentity-integration",
43174317
},
4318+
{
4319+
type: "doc",
4320+
label: "OIDC",
4321+
id: "lambdatest-sso-oidc",
4322+
},
43184323
],
43194324
],
43204325

0 commit comments

Comments
 (0)