diff --git a/.changeset/kind-crews-hear.md b/.changeset/kind-crews-hear.md new file mode 100644 index 00000000000..63bece90295 --- /dev/null +++ b/.changeset/kind-crews-hear.md @@ -0,0 +1,7 @@ +--- +'@clerk/backend': patch +--- + +Allow to create and update SAML connections with organization IDs. + +When users sign in or up using an organization's SAML connection, they're automatically added as members of that organization. For more information, refer to our docs: https://clerk.com/docs/organizations/manage-sso diff --git a/packages/backend/src/api/endpoints/SamlConnectionApi.ts b/packages/backend/src/api/endpoints/SamlConnectionApi.ts index 58671806c6e..9ac17c2cf2b 100644 --- a/packages/backend/src/api/endpoints/SamlConnectionApi.ts +++ b/packages/backend/src/api/endpoints/SamlConnectionApi.ts @@ -14,6 +14,7 @@ type CreateSamlConnectionParams = { name: string; provider: SamlIdpSlug; domain: string; + organizationId?: string; idpEntityId?: string; idpSsoUrl?: string; idpCertificate?: string; @@ -31,6 +32,7 @@ type UpdateSamlConnectionParams = { name?: string; provider?: SamlIdpSlug; domain?: string; + organizationId?: string; idpEntityId?: string; idpSsoUrl?: string; idpCertificate?: string; diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts index 5ef4fb5d2af..0c5c544ba61 100644 --- a/packages/backend/src/api/resources/JSON.ts +++ b/packages/backend/src/api/resources/JSON.ts @@ -360,6 +360,7 @@ export interface PaginatedResponseJSON { export interface SamlConnectionJSON extends ClerkResourceJSON { name: string; domain: string; + organization_id: string | null; idp_entity_id: string; idp_sso_url: string; idp_certificate: string; diff --git a/packages/backend/src/api/resources/SamlConnection.ts b/packages/backend/src/api/resources/SamlConnection.ts index d32f0495f48..e42add44c4f 100644 --- a/packages/backend/src/api/resources/SamlConnection.ts +++ b/packages/backend/src/api/resources/SamlConnection.ts @@ -5,6 +5,7 @@ export class SamlConnection { readonly id: string, readonly name: string, readonly domain: string, + readonly organizationId: string | null, readonly idpEntityId: string | null, readonly idpSsoUrl: string | null, readonly idpCertificate: string | null, @@ -28,6 +29,7 @@ export class SamlConnection { data.id, data.name, data.domain, + data.organization_id, data.idp_entity_id, data.idp_sso_url, data.idp_certificate,