You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Go to **Applications → Create App Integration**
94
94
2. Select **OIDC - OpenID Connect**, then **Web Application**
@@ -97,8 +97,8 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
97
97
https://simstudio.ai/api/auth/sso/callback/okta
98
98
```
99
99
4. Under **Assignments**, grant access to the relevant users or groups
100
-
5. Copy the **Client ID** and **Client Secret** from the app's General tab
101
-
6.Copy the **Okta domain** from your account (e.g. `dev-1234567.okta.com`)
100
+
5. Copy the **Client ID** and **Client Secret** from the app's **General** tab
101
+
6.Your Okta domain is the hostname of your admin console, e.g. `dev-1234567.okta.com`
102
102
103
103
**In Sim:**
104
104
@@ -111,20 +111,24 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
111
111
| Client ID | From Okta app |
112
112
| Client Secret | From Okta app |
113
113
114
+
<Callouttype="info">
115
+
The issuer URL uses Okta's default authorization server (`/oauth2/default`), which is pre-configured on every Okta org. If you created a custom authorization server, replace `default` with your server name.
3. After registration, go to **Certificates & secrets → New client secret** and copy the value
131
+
3. After registration, go to **Certificates & secrets → New client secret** and copy the value immediately — it won't be shown again
128
132
4. Go to **Overview** and copy the **Application (client) ID** and **Directory (tenant) ID**
129
133
130
134
**In Sim:**
@@ -139,7 +143,7 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
139
143
| Client Secret | Secret value |
140
144
141
145
<Callouttype="info">
142
-
Replace `{tenant-id}` with your Directory (tenant) ID from Azure AD. Sim will auto-discover the token and JWKS endpoints from the issuer.
146
+
Replace `{tenant-id}` with your Directory (tenant) ID from the app's Overview page. Sim auto-discovers token and JWKS endpoints from the issuer.
143
147
</Callout>
144
148
145
149
</Tab>
@@ -148,7 +152,7 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
148
152
149
153
### Google Workspace (OIDC)
150
154
151
-
**In Google Cloud Console:**
155
+
**In Google Cloud Console** ([official docs](https://developers.google.com/identity/openid-connect/openid-connect)):
152
156
153
157
1. Go to **APIs & Services → Credentials → Create Credentials → OAuth 2.0 Client ID**
154
158
2. Set the application type to **Web application**
@@ -170,7 +174,7 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
170
174
| Client Secret | From Google Cloud Console |
171
175
172
176
<Callouttype="info">
173
-
To restrict sign-in to your Google Workspace domain only, set **Authorized domains** in the OAuth consent screen to your organization's domain.
177
+
To restrict sign-in to your Google Workspace domain, configure the OAuth consent screen and ensure your app is set to **Internal** (Workspace users only) under **User type**. Setting the app to Internal limits access to users within your Google Workspace organization.
174
178
</Callout>
175
179
176
180
</Tab>
@@ -179,21 +183,21 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
6. Note the **ADFS Federation Service endpoint URL** (e.g. `https://adfs.company.com/adfs/ls`)
198
202
199
203
**In Sim:**
@@ -205,7 +209,11 @@ Click **Save**. To test, sign out and use the **Sign in with SSO** button on the
205
209
| Issuer URL |`https://simstudio.ai`|
206
210
| Domain |`company.com`|
207
211
| Entry Point URL |`https://adfs.company.com/adfs/ls`|
208
-
| Certificate | PEM certificate from ADFS |
212
+
| Certificate | Contents of the `.pem` file |
213
+
214
+
<Callouttype="info">
215
+
For ADFS, the **Issuer URL** field is the SP entity ID — the identifier ADFS uses to identify Sim as a relying party. It must match the **Relying party identifier** you registered in ADFS.
216
+
</Callout>
209
217
210
218
</Tab>
211
219
@@ -235,6 +243,43 @@ Users who sign in via SSO for the first time are automatically provisioned and a
235
243
236
244
---
237
245
246
+
<FAQitems={[
247
+
{
248
+
question: "Which SSO providers are supported?",
249
+
answer: "Any identity provider that supports OIDC or SAML 2.0. This includes Okta, Microsoft Entra ID (Azure AD), Google Workspace, Auth0, OneLogin, JumpCloud, Ping Identity, ADFS, Shibboleth, and more."
250
+
},
251
+
{
252
+
question: "What is the Domain field used for?",
253
+
answer: "The domain (e.g. company.com) is how Sim routes users to the right identity provider. When a user enters their email on the SSO sign-in page, Sim matches their email domain to a registered SSO provider and redirects them there."
254
+
},
255
+
{
256
+
question: "Do I need to provide OIDC endpoints manually?",
257
+
answer: "No. For OIDC providers, Sim automatically fetches the authorization, token, and JWKS endpoints from the discovery document at {issuer}/.well-known/openid-configuration. You only need to provide the issuer URL."
258
+
},
259
+
{
260
+
question: "What happens when a user signs in with SSO for the first time?",
261
+
answer: "Sim creates an account for them automatically and adds them to your organization. No manual invite is needed. They are assigned the member role by default."
262
+
},
263
+
{
264
+
question: "Can I still use email/password login after enabling SSO?",
265
+
answer: "Yes. Enabling SSO does not disable password-based login. Users can still sign in with their email and password if they have one. Forced SSO (requiring all users on the domain to use SSO) is not yet supported."
266
+
},
267
+
{
268
+
question: "Who can configure SSO on Sim Cloud?",
269
+
answer: "Organization owners and admins can configure SSO. You must be on the Enterprise plan."
270
+
},
271
+
{
272
+
question: "What is the Callback URL?",
273
+
answer: "The Callback URL (also called Redirect URI or ACS URL) is the endpoint in Sim that receives the authentication response from your identity provider. It follows the format: https://simstudio.ai/api/auth/sso/callback/{provider-id}. You must register this URL in your identity provider before SSO will work."
274
+
},
275
+
{
276
+
question: "How do I update or replace an existing SSO configuration?",
277
+
answer: "Open Settings → Enterprise → Single Sign-On and click Edit. Update the fields and save. The existing provider configuration is replaced."
278
+
}
279
+
]} />
280
+
281
+
---
282
+
238
283
## Self-hosted setup
239
284
240
285
Self-hosted deployments use environment variables instead of the billing/plan check.
@@ -260,6 +305,7 @@ Use this when you need to register an SSO provider without going through the UI
@@ -273,6 +319,7 @@ bun run packages/db/scripts/register-sso-provider.ts
273
319
```bash
274
320
# SAML example (ADFS)
275
321
SSO_ENABLED=true \
322
+
NEXT_PUBLIC_APP_URL=https://your-instance.com \
276
323
SSO_PROVIDER_TYPE=saml \
277
324
SSO_PROVIDER_ID=adfs \
278
325
SSO_ISSUER=https://your-instance.com \
@@ -293,38 +340,3 @@ To remove a provider:
293
340
SSO_USER_EMAIL=admin@company.com \
294
341
bun run packages/db/scripts/deregister-sso-provider.ts
295
342
```
296
-
297
-
<FAQitems={[
298
-
{
299
-
question: "Which SSO providers are supported?",
300
-
answer: "Any identity provider that supports OIDC or SAML 2.0. This includes Okta, Azure AD (Entra ID), Google Workspace, Auth0, OneLogin, JumpCloud, Ping Identity, ADFS, Shibboleth, and more."
301
-
},
302
-
{
303
-
question: "What is the Domain field used for?",
304
-
answer: "The domain (e.g. company.com) is how Sim routes users to the right identity provider. When a user enters their email on the SSO sign-in page, Sim matches their email domain to a registered SSO provider and redirects them there."
305
-
},
306
-
{
307
-
question: "Do I need to provide OIDC endpoints manually?",
308
-
answer: "No. For OIDC providers, Sim automatically fetches the authorization, token, and JWKS endpoints from the discovery document at {issuer}/.well-known/openid-configuration. You only need to provide the issuer URL."
309
-
},
310
-
{
311
-
question: "What happens when a user signs in with SSO for the first time?",
312
-
answer: "Sim creates an account for them automatically and adds them to your organization. No manual invite is needed. They are assigned the member role by default."
313
-
},
314
-
{
315
-
question: "Can I still use email/password login after enabling SSO?",
316
-
answer: "Yes. Enabling SSO does not disable password-based login. Users can still sign in with their email and password if they have one. Forced SSO (requiring all users on the domain to use SSO) is not yet supported."
317
-
},
318
-
{
319
-
question: "Who can configure SSO on Sim Cloud?",
320
-
answer: "Organization owners and admins can configure SSO. You must be on the Enterprise plan."
321
-
},
322
-
{
323
-
question: "What is the Callback URL?",
324
-
answer: "The Callback URL (also called Redirect URI or ACS URL) is the endpoint in Sim that receives the authentication response from your identity provider. It follows the format: https://simstudio.ai/api/auth/sso/callback/{provider-id}. You must register this URL in your identity provider before SSO will work."
325
-
},
326
-
{
327
-
question: "How do I update or replace an existing SSO configuration?",
328
-
answer: "Open Settings → Enterprise → Single Sign-On and click Edit. Update the fields and save. The existing provider configuration is replaced."
0 commit comments