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
docs(sso): correct callback host and issuer guidance, document Entra SAML and IdP-initiated behavior (#6334)
* docs(sso): use the deployed host in callback and entity ID examples
* docs(sso): correct host, issuer, and provider-id guidance; document Entra SAML and IdP-initiated behavior
* docs(sso): send Entra federation metadata to the field that reads it
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/platform/enterprise/sso.mdx
+57-14Lines changed: 57 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,9 +16,11 @@ Single Sign-On lets your team sign in to Sim through your company's identity pro
16
16
17
17
<Callouttype="warning">
18
18
[Verify your email domain](/platform/enterprise/verified-domains) first. SSO cannot be saved until the domain shows as **Verified**, and DNS changes take time to propagate.
19
+
20
+
The verified domain is what authorizes your identity provider. Removing it later immediately disables SSO sign-in for everyone on that domain until it is verified again.
19
21
</Callout>
20
22
21
-
Decide your **Provider ID** before configuring your identity provider — it becomes part of the callback URL you register there, so changing it later means redoing that step.
23
+
Decide your **Provider ID** before configuring your identity provider. It becomes part of the callback URL you register there, and it is **fixed once saved** — changing it later means deleting the provider and setting it up again.
22
24
23
25
---
24
26
@@ -72,12 +74,12 @@ The **Callback URL** shown in the form is the endpoint your identity provider mu
72
74
73
75
**OIDC providers** (Okta, Microsoft Entra ID, Google Workspace, Auth0):
1. Go to **Enterprise applications → New application → Create your own application**, choose **Integrate any other application you don't find in the gallery**
164
+
2. Open **Single sign-on** and select **SAML**
165
+
3. Edit **Basic SAML Configuration** and set both values from Sim's SSO settings page:
166
+
-**Identifier (Entity ID)** — the **SP Entity ID** field
167
+
-**Reply URL (Assertion Consumer Service URL)** — the **ACS URL** field
168
+
4. Under **Attributes & Claims**, confirm the default claims are present. Sim reads the standard schema claim URIs for email, name, and name identifier
169
+
5. Under **SAML Certificates**, download **Certificate (Base64)**. Its contents go in Sim's **Certificate** field, which is required. You can optionally also download **Federation Metadata XML** and paste it into Sim's **IDP Metadata XML** field under **Advanced Options** — it does not replace the certificate
170
+
6. From the **Set up** panel for your application, copy the **Login URL** and the **Microsoft Entra Identifier**
171
+
7. Under **Users and groups**, assign the people who should be able to sign in — Microsoft rejects unassigned users before they reach Sim
172
+
173
+
**In Sim:**
174
+
175
+
| Field | Value |
176
+
|-------|-------|
177
+
| Provider Type | SAML |
178
+
| Provider ID |`azure-ad-acme` (must be globally unique) |
179
+
| Issuer URL |**Microsoft Entra Identifier**, e.g. `https://sts.windows.net/{tenant-id}/`|
180
+
| Domain |`company.com`|
181
+
| Entry Point URL |**Login URL** from Entra |
182
+
| Certificate | Contents of the Base64 certificate |
183
+
184
+
<Callouttype="info">
185
+
The **Identifier (Entity ID)** you set in Entra is what Sim validates the assertion's audience against. If it does not match the **SP Entity ID** shown in Sim exactly, sign-in fails with an audience mismatch.
186
+
</Callout>
187
+
188
+
</Tab>
189
+
153
190
<Tabvalue="Google Workspace">
154
191
155
192
### Google Workspace (OIDC)
@@ -160,7 +197,7 @@ The issuer URL uses Okta's default authorization server, which is pre-configured
160
197
2. Set the application type to **Web application**
161
198
3. Add your Sim callback URL to **Authorized redirect URIs**:
@@ -189,13 +226,13 @@ The issuer URL uses Okta's default authorization server, which is pre-configured
189
226
190
227
1. Open **AD FS Management → Relying Party Trusts → Add Relying Party Trust**
191
228
2. Choose **Claims aware**, then **Enter data about the relying party manually**
192
-
3. Set the **Relying party identifier** (Entity ID) to your Sim base URL:
229
+
3. Set the **Relying party identifier** (Entity ID) to the **SP Entity ID** shown in Sim's SSO settings. SAML compares the assertion's audience against it, so it must match exactly:
193
230
```
194
-
https://sim.ai
231
+
https://www.sim.ai
195
232
```
196
233
4. Add an endpoint: **SAML Assertion Consumer Service** (HTTP POST) with the URL:
6. Note the **ADFS Federation Service endpoint URL** (e.g. `https://adfs.company.com/adfs/ls`)
@@ -206,13 +243,15 @@ The issuer URL uses Okta's default authorization server, which is pre-configured
206
243
|-------|-------|
207
244
| Provider Type | SAML |
208
245
| Provider ID |`adfs`|
209
-
| Issuer URL |`https://sim.ai`|
246
+
| Issuer URL |`https://adfs.company.com/adfs/services/trust` (the ADFS Federation Service identifier)|
210
247
| Domain |`company.com`|
211
248
| Entry Point URL |`https://adfs.company.com/adfs/ls`|
212
249
| Certificate | Contents of the `.pem` file |
213
250
214
251
<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.
252
+
The **Issuer URL** is the identity provider's own identifier, found in ADFS under **Service → Federation Service Properties → Federation Service identifier**. It is not Sim's URL — Sim's identifier is the **SP Entity ID** shown in the SSO settings, which you register in ADFS as the relying party identifier.
253
+
254
+
Sim requires this field to use `https`. ADFS often defaults its Federation Service identifier to an `http://` URI; if yours does, change it to `https` in ADFS so both sides agree.
216
255
</Callout>
217
256
218
257
</Tab>
@@ -233,6 +272,10 @@ Once SSO is configured, users with your domain (`company.com`) can sign in throu
233
272
234
273
Users who sign in via SSO for the first time are automatically provisioned and added to your organization — no manual invite required.
235
274
275
+
<Callouttype="warning">
276
+
Sign-in must start from Sim. Launching from your identity provider's app portal (Microsoft's **My Apps**, Okta's dashboard tile) sends an unsolicited assertion, which Sim rejects. This is deliberate — accepting them would let anyone replay an assertion into your tenant — but it means an IdP-initiated test fails even when the configuration is correct.
277
+
</Callout>
278
+
236
279
SSO provisioning creates internal organization members. External workspace members are different: they are invited to a specific workspace without joining your organization or consuming one of your seats.
question: "A user already has an account with the same email — what happens when they sign in with SSO?",
267
-
answer: "Sim links the SSO identity to that account automatically. Linking is authorized by your verified domain: because you proved ownership of the domain before configuring SSO, Sim treats your identity provider as authoritative for email addresses on it. This works the same for OIDC and SAML, and does not depend on your IdP sending an email_verified claim — Microsoft Entra, for example, never sends one."
310
+
answer: "Sim links the SSO identity to that account automatically. Linking is authorized by your verified domain: because you proved ownership of the domain before configuring SSO, Sim treats your identity provider as authoritative for email addresses on it. This works the same for OIDC and SAML, and does not depend on your IdP sending an email_verified claim — Microsoft Entra, for example, never sends one. Matching is by email address, so the address your IdP asserts must be identical to the one on the existing account. If it differs — a privileged or admin variant such as p-alice@company.com, or a different alias — Sim treats it as a new person and creates a separate account rather than linking."
268
311
},
269
312
{
270
313
question: "Who can configure SSO on Sim Cloud?",
271
314
answer: "Organization owners and admins can configure SSO. You must be on the Enterprise plan."
272
315
},
273
316
{
274
317
question: "What is the Callback URL?",
275
-
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. For OIDC providers it follows the format: https://sim.ai/api/auth/sso/callback/{provider-id}. For SAML providers it is: https://sim.ai/api/auth/sso/saml2/callback/{provider-id}. You must register this URL in your identity provider before SSO will work."
318
+
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. For OIDC providers it follows the format: https://www.sim.ai/api/auth/sso/callback/{provider-id}. For SAML providers it is: https://www.sim.ai/api/auth/sso/saml2/callback/{provider-id}. You must register this URL in your identity provider before SSO will work."
276
319
},
277
320
{
278
321
question: "How do I update or replace an existing SSO configuration?",
0 commit comments