Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
7ca30eb
scim
laliconfigcat Jan 15, 2025
41864b9
prg
laliconfigcat Jan 16, 2025
9608e76
scim
laliconfigcat Jan 16, 2025
84b4426
prg
laliconfigcat Jan 17, 2025
960c6b6
prg
laliconfigcat Jan 17, 2025
a78e3da
scim
laliconfigcat Jan 17, 2025
872df38
Merge branch 'master' into scim
laliconfigcat Apr 15, 2025
adfeb60
iamges
laliconfigcat Apr 15, 2025
c5410f4
renamings
laliconfigcat Apr 15, 2025
36fe5e7
rewrite, grammarly
laliconfigcat Apr 15, 2025
cb783ba
progress
laliconfigcat Apr 16, 2025
db9481c
sidebar
laliconfigcat Apr 23, 2025
f30c15f
Almost finish Okta SCIM docs
z4kn4fein Apr 23, 2025
47512ff
overviewfix
laliconfigcat Apr 23, 2025
7c4858b
provisioning
laliconfigcat Apr 23, 2025
b510631
Progress
z4kn4fein Apr 24, 2025
0ed3eae
progress
z4kn4fein Apr 24, 2025
9f9b58a
Merge branch 'master' into scim
laliconfigcat Apr 28, 2025
771a08d
screenshots
laliconfigcat Apr 28, 2025
c73be6e
remove auth0, google
laliconfigcat Apr 28, 2025
1d41f97
limits
laliconfigcat May 8, 2025
0f1214a
limits
laliconfigcat May 8, 2025
b196632
next steps
laliconfigcat May 8, 2025
2f5aff3
tech limit
laliconfigcat May 8, 2025
1fb5e49
limits
laliconfigcat May 8, 2025
4519ae0
index
laliconfigcat May 9, 2025
810c22e
beta
laliconfigcat May 9, 2025
559a79d
beta
laliconfigcat May 9, 2025
95a1d2e
onelogin docs
laliconfigcat May 9, 2025
587681f
onelogin
laliconfigcat May 9, 2025
2407361
Add SCIM API docs
z4kn4fein May 12, 2025
fed952e
todo
laliconfigcat May 13, 2025
6ca6e17
Apply suggestions from code review
laliconfigcat May 20, 2025
514e030
Apply suggestions from code review
laliconfigcat May 20, 2025
1892a98
Apply suggestions from code review
laliconfigcat May 20, 2025
53ec991
Apply suggestions from code review
laliconfigcat May 20, 2025
846a534
Apply suggestions from code review
laliconfigcat May 20, 2025
24d3166
links
laliconfigcat May 20, 2025
c332509
fix
laliconfigcat May 20, 2025
e3ce150
v1
laliconfigcat May 20, 2025
dbdbe1d
Merge branch 'master' into scim
laliconfigcat May 20, 2025
c7800ec
news
laliconfigcat May 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ website/i18n/*
.dccache

website/api/reference/*
website/api/scim/*
50 changes: 37 additions & 13 deletions website/api/sidebars.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,48 @@
import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';

const infoId = 'reference/configcat-public-management-api';
const papiInfoId = 'reference/configcat-public-management-api';
const scimInfoId = 'scim/configcat-user-provisioning-scim-api';

const generated = require('./reference/sidebar.ts')
.map(item => {
return {
...item,
items: item.items.filter(sub => sub.id !== infoId),
}
});
const papiSidebar = require('./reference/sidebar.ts').map((item) => {
return {
...item,
items: item.items.filter((sub) => sub.id !== papiInfoId),
};
});

const scimSidebar = require('./scim/sidebar.ts').filter((item) => item.id !== scimInfoId);

const sidebars: SidebarsConfig = {
api: [
{
label: 'Introduction',
type: "doc",
id: infoId,
type: 'category',
label: 'Public Management API',
collapsible: true,
collapsed: true,
items: [
{
label: 'Introduction',
type: 'doc',
id: papiInfoId,
},
...papiSidebar,
],
},
{
type: 'category',
label: 'User Provisioning (SCIM) API',
collapsible: true,
collapsed: true,
items: [
{
label: 'Introduction',
type: 'doc',
id: scimInfoId,
},
...scimSidebar,
],
},
...generated,
],
};

export default sidebars;
export default sidebars;
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,5 @@ To let users authenticate via SAML, you need to assign individual users or group

## 6. Next Steps

- Configure the [auto-assignment of users](../../auto-assign-users.mdx).
- Configure [User provisioning (SCIM)](../../scim/overview.mdx)
- or configure the [auto-assignment of users](../../auto-assign-users.mdx) if you don't want to provision your users with your Identity Provider.
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,5 @@ To let users authenticate via SAML, you need to assign individual users or group

## 6. Next Steps

- Configure the [auto-assignment of users](../../auto-assign-users.mdx).
- Configure [User provisioning (SCIM)](../../scim/overview.mdx)
- or configure the [auto-assignment of users](../../auto-assign-users.mdx) if you don't want to provision your users with your Identity Provider.
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,5 @@ To let users authenticate via SAML, you need to assign the newly created applica

## 6. Next Steps

- Configure the [auto-assignment of users](../../auto-assign-users.mdx).
- Configure [User provisioning (SCIM)](../../scim/overview.mdx)
- or configure the [auto-assignment of users](../../auto-assign-users.mdx) if you don't want to provision your users with your Identity Provider.
2 changes: 1 addition & 1 deletion website/docs/advanced/team-management/saml/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This section describes how you can enable SAML Single Sign-On (SSO) for your org

SAML SSO allows your team members to sign up and log in to ConfigCat via their company accounts using your own Identity Provider (IdP).

Go to the [Authentication Preferences](https://app.configcat.com/organization/authentication/) page to set up SAML SSO. You need to be an
Go to the [Authentication & Provisioning](https://app.configcat.com/organization/authentication/) page to set up SAML SSO. You need to be an
organization admin to do this.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
id: entra-id
title: (Beta) User Provisioning (SCIM) with Entra ID (Azure AD)
description: This is a step-by-step guide on how to set up and configure Entra ID (Azure AD) as a User provisioning (SCIM) provider for your organization.
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

:::info
**Beta Feature**: SCIM provisioning is in public beta. It has been thoroughly tested with various Identity Providers.
We're now collecting feedback from real-world usage to fine-tune the experience. Share your feedback [here](https://configcat.com/support).
:::

## Introduction

Each Identity Provider requires specific information to configure a SCIM integration. The following guide will walk you through how you can connect ConfigCat with Entra ID via SCIM.

## 1. Create an Entra ID Enterprise Application

:::info
If you already configured your organization to use Entra ID as a SAML provider, you can use the existing Entra ID Enterprise application and skip to the [next step](#2-configure-provisioning-scim-for-the-azure-enterprise-application).
:::

- Log in to the <a href="https://portal.azure.com/" target="_blank">Azure Portal</a>, go to the `Entra ID` resource, select `Enterprise applications`, and click on `New application`.

<img className="bordered-img" src="/docs/assets/scim/entra_id/new_application.png" alt="Entra ID enterprise applications" decoding="async" loading="lazy"/>

- Click on `Create your own application`.

<img className="bordered-img" src="/docs/assets/scim/entra_id/create_application.png" alt="Entra ID create own application" decoding="async" loading="lazy"/>

- Enter a descriptive `App name`, select the `Integrate any other application you don't find in the gallery (Non-gallery)` option, then click `Create`.

<img className="bordered-img" src="/docs/assets/scim/entra_id/app_name.png" alt="Entra ID app name" decoding="async" loading="lazy"/>

The next step will guide you on how to setup Entra ID to synchronize your Identity Provider users and Identity Provider groups to ConfigCat.

## 2. Configure Provisioning (SCIM) for the Azure Enterprise Application

- On the `Manage` section of the application, select `Provisioning`, then click on `New Configuration`.

<img className="bordered-img" src="/docs/assets/scim/entra_id/new_config.png" width="1293" alt="Entra ID new SCIM configuration" decoding="async" loading="lazy"/>

- Gather the `SCIM URL` and the `Token` from the <a href="https://app.configcat.com/organization/authentication/" target="_blank" rel="noopener noreferrer">Authentication & Provisioning</a> page in ConfigCat.

<img className="bordered-img" src="/docs/assets/scim/dashboard/token_generate_url.png" alt="SCIM URL and token" decoding="async" loading="lazy"/>

<img className="bordered-img" src="/docs/assets/scim/dashboard/token.png" alt="SCIM token" decoding="async" loading="lazy"/>

- Add the `SCIM URL` as the `Tenant URL` and the `Token` as the `Secret token` on the New provisioning configuration page in Azure. Click on the `Create` button.

<img className="bordered-img" src="/docs/assets/scim/entra_id/scim_meta.png" alt="Entra ID SCIM URL and token" decoding="async" loading="lazy"/>

- Select the `Provisioning` menu and in the Mappings, configure the mapping for Users and Groups.

<img className="bordered-img" src="/docs/assets/scim/entra_id/mappings.png" alt="Entra ID SCIM mappings" decoding="async" loading="lazy"/>

- Mapping for Users:
Configure only the following mappings and remove all other mappings if there are any.

| Provisioning Attribute | Microsoft Entra ID Attribute |
| ----------------------- | ----------------------------------------------------------- |
| externalId | objectId |
| userName | userPrincipalName |
| displayName | displayName |
| active | Switch([IsSoftDeleted], , "False", "True", "True", "False") |

<img className="bordered-img" src="/docs/assets/scim/entra_id/user_mappings.png" alt="Entra ID SCIM User mappings" decoding="async" loading="lazy"/>

- Mapping for Groups:
Configure only the following mappings and remove all other mappings if there are any.

| Provisioning Attribute | Microsoft Entra ID Attribute |
| ----------------------- | ---------------------------- |
| externalId | objectId |
| displayName | displayName |
| members | members |

<img className="bordered-img" src="/docs/assets/scim/entra_id/group_mappings.png" alt="Entra ID SCIM Group mappings" decoding="async" loading="lazy"/>

## 3. Assign Users/Groups to the Enterprise Application

To start user provisioning with Entra ID, you need to assign groups to the Enterprise application.

- Select `Users and groups` on the `Manage` section of the menu, and click `Add user/group`. Then, you can select the groups you want to assign.

<img className="bordered-img" src="/docs/assets/scim/entra_id/add_user.png" alt="Entra ID users and groups" decoding="async" loading="lazy"/>

:::caution
In ConfigCat, you can assign permissions only to groups that are synchronized from your Identity Provider,
therefore it's important to select groups for synchronization rather than individual users.
:::

## 4. Start provisioning

- Go to the `Overview` page of the provisioning configuration and click on `Start provisioning`.

<img className="bordered-img" src="/docs/assets/scim/entra_id/start_provisioning.png" alt="Entra ID start provisioning" decoding="async" loading="lazy" />

- Wait until the first provisioning is finished, and you should see each synced group and user on ConfigCat's <a href="https://app.configcat.com/organization/authentication/" target="_blank" rel="noopener noreferrer">Authentication & Provisioning</a> page.

## 5. Next Steps

- Continue with [assigning ConfigCat permissions to the synced groups](../overview.mdx#groups).
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
id: okta
title: (Beta) User Provisioning (SCIM) with Okta
description: This is a step-by-step guide on how to set up and configure Okta as a User provisioning (SCIM) provider for your organization.
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

:::info
**Beta Feature**: SCIM provisioning is in public beta. It has been thoroughly tested with various Identity Providers.
We're now collecting feedback from real-world usage to fine-tune the experience. Share your feedback [here](https://configcat.com/support).
:::

## Introduction

Each Identity Provider requires specific information to configure a SCIM integration. The following guide will walk you through how you can connect ConfigCat with Okta via SCIM.

## 1. Create an Application in Okta

- Log in to <a href="https://login.okta.com/" target="_blank">Okta</a>, go to the admin Dashboard, select `Applications`, and click on `Create App Integration`.

<img className="bordered-img" src="/docs/assets/scim/okta/create_app.png" alt="Okta applications" decoding="async" loading="lazy" />

- Select `SAML 2.0` as the Sign-in method.

<img className="bordered-img" src="/docs/assets/scim/okta/app_type.png" alt="Okta select SAML" decoding="async" loading="lazy"/>

- Enter a descriptive `App name`, then click `Next`.

<img className="bordered-img" src="/docs/assets/scim/okta/app_name.png" alt="Okta app name" decoding="async" loading="lazy"/>

The next step will guide you on how to collect the information required for the appearing `Configure SAML` section.

## 2. Configure SAML authentication for the Okta Application

- Follow our [SAML configuration guide for Okta](../../../saml/identity-providers/okta/#2-configure-saml-for-the-okta-application).

## 3. Configure Provisioning (SCIM) for the Okta Application

- Click on `Edit` at the `App Settings`.

<img className="bordered-img" src="/docs/assets/scim/okta/edit_settings.png" alt="Okta edit app settings" decoding="async" loading="lazy"/>

- Check the `Enable SCIM provisioning` checkbox, and hit `Save`.

<img className="bordered-img" src="/docs/assets/scim/okta/enable_provisioning.png" alt="Okta enable provisioning" decoding="async" loading="lazy"/>

- Gather the `SCIM URL` and the `Token` from the <a href="https://app.configcat.com/organization/authentication/" target="_blank" rel="noopener noreferrer">Authentication & Provisioning</a> page in ConfigCat.

<img className="bordered-img" src="/docs/assets/scim/dashboard/token_generate_url.png" alt="SCIM URL and token" decoding="async" loading="lazy"/>

<img className="bordered-img" src="/docs/assets/scim/dashboard/token.png" alt="SCIM token" decoding="async" loading="lazy"/>

- Select the `Provisioning` tab and click on the `Edit` button.

<img className="bordered-img" src="/docs/assets/scim/okta/edit_provisioning.png" alt="Okta edit provisioning" decoding="async" loading="lazy"/>

- On the `SCIM Connection` section configure the following:
- Add the `SCIM URL` from the ConfigCat Dashboard as the `SCIM connector base URL`.
- Set the `Unique identifier field for users` field to `email`.
- Check the following `Supported provisioning actions`:
- `Push New Users`
- `Push Profile Updates`
- `Push Groups`
- Select the `HTTP Header` as the `Authentication Mode`.
- Set the `Token` from the ConfigCat Dashboard as the `HTTP Header Authorization`.
- Click on `Save`.<br/><br/>

<img className="bordered-img" src="/docs/assets/scim/okta/scim_connection.png" alt="Okta SCIM connection" decoding="async" loading="lazy"/>

- Select the `To App` menu item and click on `Edit`.

<img className="bordered-img" src="/docs/assets/scim/okta/to_app_edit.png" alt="Okta To App edit" decoding="async" loading="lazy"/>

- Check the `Create Users`, `Update User Attributes`, and `Deactivate Users` checkboxes, and hit `Save`.

<img className="bordered-img" src="/docs/assets/scim/okta/to_app_save.png" alt="Okta To App save" decoding="async" loading="lazy"/>

## 4. Assign Users/Groups to Okta Application

To select users for synchronization into ConfigCat, you have to assign their Okta group to the Application.

- Select the `Assignments` tab, click on the `Assign` dropdown, and select `Assign to Groups`.

<img className="bordered-img" src="/docs/assets/scim/okta/assign_groups.png" alt="Okta assign groups" decoding="async" loading="lazy"/>

- Click the `Assign` button on those groups whose members you want to sync to ConfigCat.

<img className="bordered-img" src="/docs/assets/scim/okta/assign_group.png" alt="Okta assign group" decoding="async" loading="lazy"/>

The above action starts the synchronization of the selected users but not their groups.

:::caution
Okta does not support using the same Okta group for assignments and for syncing group-member relations.
You need to create a separate group that is used exclusively for syncing group-member relations.
These groups are called `Push Groups` in Okta.

To learn more, see <a href="https://help.okta.com/en-us/content/topics/users-groups-profiles/usgp-about-group-push.htm" target="_blank" rel="noopener noreferrer">Okta's documentation about Push Groups</a>.
:::

To enable group syncing, create separate groups for the users that you want to sync and add these new groups to the application as `Push Groups`.

- Go to the `Push Groups` tab, click on the `Push Groups` dropdown, and select `Find groups by name`.

<img className="bordered-img" src="/docs/assets/scim/okta/push_groups.png" alt="Okta push groups" decoding="async" loading="lazy"/>

- Select the group that you want to push, and click on the `Save` button.

<img className="bordered-img" src="/docs/assets/scim/okta/add_push_group.png" alt="Okta add push group" decoding="async" loading="lazy"/>

- Make sure that the created push group's status is active.

<img className="bordered-img" src="/docs/assets/scim/okta/push_group_active.png" alt="Okta push group active" decoding="async" loading="lazy"/>

- You should see each synced group and user on ConfigCat's <a href="https://app.configcat.com/organization/authentication/" target="_blank" rel="noopener noreferrer">Authentication & Provisioning</a> page.

## 5. Next Steps

- Continue with [assigning ConfigCat permissions to the synced groups](../overview.mdx#groups).
Loading