Skip to content

Commit 7c82d74

Browse files
niwsavinckr
andauthored
feat: scim support in onboarding portal (#2280)
* update limitations note * minor tweak * wip * add link update api * tweak response * tweaks and cleanup * tweak SCIM support * update screenshot heading and minor tweak * chore: format --------- Co-authored-by: vinckr <[email protected]>
1 parent 4955882 commit 7c82d74

File tree

5 files changed

+63
-11
lines changed

5 files changed

+63
-11
lines changed
213 KB
Loading
228 KB
Loading
284 KB
Loading
-43.4 KB
Binary file not shown.

docs/kratos/organizations/organizations.mdx

Lines changed: 63 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -406,21 +406,21 @@ partners.
406406
The onboarding portal addresses the often-burdensome process of setting up and managing identity connections with external
407407
organizations. Traditionally, integrating with a customer's or partner's identity provider (IdP) for single sign-on (SSO) or
408408
synchronizing user directories involves manual, error-prone configurations. This often requires deep technical expertise in
409-
protocols such as SAML.
409+
protocols such as SAML/SCIM.
410410

411411
Onboarding portal aims to:
412412

413413
- Simplify complex integrations: By providing a self-service or guided onboarding experience, they abstract away the underlying
414-
technical complexities of SAML. This means IT administrators on the client side don't need to be SAML experts to connect their
415-
organization's identity system.
414+
technical complexities of SAML/SCIM. This means IT administrators on the client side don't need to be SAML/SCIM experts to
415+
connect their organization's identity system.
416416
- Reduce onboarding time: Instead of lengthy back-and-forth communication and manual configuration, an onboarding portal link
417417
allows an external administrator to configure the connection directly through a user-friendly interface. This drastically
418418
reduces the time and effort required to establish new B2B integrations.
419419
- Enhance security and control: Onboarding portal links are designed to be shareable without exposing sensitive information. The
420420
administrator receiving the link can configure their side of the connection securely, maintaining control over their IdP
421421
settings while establishing a trusted connection with your application.
422422
- Enable Self-Service for Organizations: For SaaS providers, this means empowering your customers to self-onboard and manage their
423-
own SSO connections, freeing up your engineering and support teams. Support Scalability for B2B Models: As your application
423+
own SSO/SCIM connections, freeing up your engineering and support teams. Support Scalability for B2B Models: As your application
424424
grows and serves more enterprise clients, manually managing each integration becomes unsustainable. These features provide a
425425
scalable solution for onboarding and managing a large number of organizational customers.
426426
- Validate SSO Connections instantly: The onboarding portal includes the ability to immediately test the configured SSO
@@ -438,11 +438,15 @@ These features are relevant for:
438438
management for applications that serve multiple organizations. Each organization has its own authentication and user
439439
provisioning requirements.
440440

441-
Current limitations:
441+
Provider support:
442442

443-
- The onboarding portal currently supports Microsoft Entra ID and Okta. You can also connect all SAML-compliant providers using
444-
the custom SAML provider option. If you don't find your provider listed, please [contact us](https://www.ory.sh/contact/). While
445-
OIDC and SCIM are part of Ory Network's capabilities, their integration with the onboarding portal is still under development.
443+
- The onboarding portal supports all well known providers. You can also connect any SAML/OIDC compliant provider using the Generic
444+
SAML/OIDC IdP option. If you don't find your provider listed, please [contact us](https://www.ory.sh/contact/).
445+
446+
### SCIM support
447+
448+
The onboarding portal allows you to set up SCIM provisioning. For an organization, you can create, update, and remove SCIM
449+
servers. Guided walkthroughs are available for Microsoft Entra ID and Okta.
446450

447451
### Manage onboarding portal links
448452

@@ -484,7 +488,8 @@ curl -X POST --location "https://api.console.ory.sh/projects/$PROJECT_ID/organiz
484488
-H "Content-Type: application/json" \
485489
-d '{
486490
"expires_at": "2025-06-01T00:00:00Z",
487-
"enable_sso": true
491+
"enable_sso": true,
492+
"enable_scim": true
488493
}'
489494
```
490495

@@ -497,6 +502,7 @@ Result:
497502
"project_id": "836b03f7-fdce-466a-9407-8595a0f615ce",
498503
"organization_id": "517cc5e7-1ab6-4dcf-ba02-00fad003af92",
499504
"enable_sso": true,
505+
"enable_scim": true,
500506
"created_at": "2025-06-02T05:23:45.299988Z",
501507
"expires_at": "2025-06-03T05:23:45Z"
502508
}
@@ -506,6 +512,34 @@ The response contains a `value` token that you can use to construct the onboardi
506512

507513
`https://your-slug.projects.oryapis.com/onboarding/<value>`
508514

515+
#### Update an onboarding portal link
516+
517+
```shell
518+
curl -X POST --location "https://api.console.ory.sh/projects/$PROJECT_ID/organizations/$ORGANIZATION_ID/onboarding-portal-links/$ONBOARDING_PORTAL_LINK_ID" \
519+
-H "Authorization: Bearer $WORKSPACE_API_KEY" \
520+
-H "Content-Type: application/json" \
521+
-d '{
522+
"expires_at": "2025-06-01T00:00:00Z",
523+
"enable_sso": true,
524+
"enable_scim": true
525+
}'
526+
```
527+
528+
Result:
529+
530+
```json
531+
{
532+
"id": "655fa1d7-8404-4aa5-a90d-7f0aee060bc6",
533+
"value": "emH8rO0f9S8VtLXLhBdNc9vBPSgsoT3qYHQQd7ROf8HwMmtK",
534+
"project_id": "94d32bfd-08ea-4a11-a026-b9d7ddda0f09",
535+
"organization_id": "9e83d579-ba29-43dd-b245-28c525c82066",
536+
"enable_sso": true,
537+
"enable_scim": true,
538+
"created_at": "2025-08-21T15:48:00.101704Z",
539+
"expires_at": "2027-06-01T00:00:00Z"
540+
}
541+
```
542+
509543
#### Delete an onboarding portal link
510544

511545
```shell
@@ -531,6 +565,7 @@ Result:
531565
"project_id": "836b03f7-fdce-466a-9407-8595a0f615ce",
532566
"organization_id": "517cc5e7-1ab6-4dcf-ba02-00fad003af92",
533567
"enable_sso": true,
568+
"enable_scim": true,
534569
"created_at": "2025-06-02T05:44:24.883665Z",
535570
"expires_at": "2025-06-03T05:44:24Z"
536571
}
@@ -551,11 +586,28 @@ expiry of 1 day. Once the link expires, it no longer works. You can also delete
551586
#### Handover and using the portal
552587

553588
Once you generate the link, share it with the organization's administrator. They can access this link multiple times until its
554-
expiration to manage (add, edit, or delete) the organization's SSO connections.
589+
expiration to manage SSO and SCIM connections.
555590

556591
```mdx-code-block
557592
558593
<BrowserWindow url="https://<your-slug>.projects.oryapis.com/onboarding/<unique-token>">
559-
![Onboarding portal](./_static/onboarding-portal.png)
594+
![Onboarding portal](./_static/onboarding-portal-home.png)
595+
</BrowserWindow>
596+
```
597+
598+
##### Manage SSO
599+
600+
```mdx-code-block
601+
<BrowserWindow url="https://<your-slug>.projects.oryapis.com/onboarding/<unique-token>/sso">
602+
![Onboarding portal](./_static/onboarding-portal-sso.png)
603+
</BrowserWindow>
604+
```
605+
606+
##### Manage SCIM
607+
608+
```mdx-code-block
609+
610+
<BrowserWindow url="https://<your-slug>.projects.oryapis.com/onboarding/<unique-token>/scim">
611+
![Onboarding portal](./_static/onboarding-portal-scim.png)
560612
</BrowserWindow>
561613
```

0 commit comments

Comments
 (0)