Files
upstream-twenty/packages/twenty-docs/user-guide/permissions-access/capabilities/sso-configuration.mdx
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

106 lines
3.4 KiB
Plaintext

---
title: SSO Configuration
description: Configure Single Sign-On for secure enterprise authentication.
---
## About SSO
Single Sign-On (SSO) allows your team members to log into Twenty using your organization's identity provider. This provides:
- **Centralized access control**: Manage access from one place
- **Enhanced security**: Leverage your existing security policies
- **Better user experience**: One set of credentials for all tools
## Supported Providers
Twenty supports SSO with:
- **SAML 2.0**: Works with most enterprise identity providers
- **Google Workspace**: For organizations using Google
- **Microsoft Entra ID** (formerly Azure AD): For Microsoft environments
## Setting Up SSO
### Prerequisites
- Organization plan (cloud and self-hosted workspaces)
- Admin access to your identity provider
- Admin access to your Twenty workspace
### Configuration Steps
#### 1. Access SSO Settings
1. Go to **Settings → Security**
2. Find the **SSO Configuration** section
3. Click **Configure SSO**
#### 2. Choose Your Provider
Select your identity provider from the list or choose "Custom SAML" for other providers.
#### 3. Configure Your Identity Provider
You'll need to configure your identity provider with:
- **Entity ID**: Provided by Twenty
- **ACS URL**: The callback URL for authentication
- **Certificate**: For secure communication
#### 4. Enter Provider Details in Twenty
- **SSO URL**: Login URL from your provider
- **Entity ID**: Your provider's identifier
- **Certificate**: X.509 certificate from your provider
#### 5. Test and Enable
1. Click **Test Configuration** to verify setup
2. Enable SSO when testing is successful
3. Configure user provisioning preferences
## User Provisioning
### Just-in-Time (JIT) Provisioning
- Users are created automatically on first login
- Users are assigned a default role automatically
- No manual user creation needed
### Manual Provisioning
- Invite users before they can log in
- Pre-assign specific roles
- More control over who can access the workspace
## Managing SSO Users
### Role Assignment
SSO users can be assigned roles like regular users:
1. Go to **Settings → Members**
2. Find the user
3. Change their role as needed
### Access Revocation
To remove access for SSO users:
- Remove them from your identity provider, or
- Remove them from the Twenty workspace
## Best Practices
### Security
- **Require SSO**: Disable password login for SSO users
- **Regular audits**: Review access periodically
- **Strong IdP policies**: Enforce MFA at the identity provider
### User Management
- **Clear naming**: Use consistent naming from your directory
- **Group mapping**: Map IdP groups to Twenty roles (if available)
- **Offboarding process**: Include Twenty in your deprovisioning workflow
## Troubleshooting
### Common Issues
- **Certificate errors**: Ensure the certificate hasn't expired
- **URL mismatches**: Verify the ACS URL matches exactly
- **User not found**: Check JIT provisioning settings
### Getting Help
If you encounter issues, contact support with:
- Error messages received
- Identity provider being used
- Configuration details (without sensitive data)
<Tip>
Need SSO configured for your organization? [Find a certified Twenty partner](https://twenty.com/partners/list?categories=SOLUTIONING&ref=docs-sso) who specializes in SSO and identity setup. *(Prefer to loop in Twenty directly? [contact@twenty.com](mailto:contact@twenty.com))*
</Tip>