OpenID Connect SSO
Cirrux supports Single Sign-On (SSO) via OpenID Connect (OIDC). Connect your identity provider (such as Okta, Microsoft Entra ID or Google Workspace) so team members can sign in to Cirrux with the account they already use at work.
SSO is not self-serve yet: there is no SSO screen in the workspace admin app. Email help@cirrux.info and we set up the connection for your workspace with you.
How it works
Sign-in flow
When SSO is configured, users enter their email address on the Cirrux login page. If the address is at one of your workspace’s domains, the button changes to Continue with SSO and takes them to your identity provider. Once they have signed in there, they land back in Cirrux, signed in.
Cirrux uses the Authorization Code flow with PKCE (Proof Key for Code Exchange). The ID token’s signature, issuer, audience and nonce are checked against your provider’s published JWKS keys.
SSO covers signing in on the Cirrux login page. Mail, calendar and contacts apps that connect over IMAP, SMTP, CalDAV or CardDAV do not go through your identity provider; they sign in with an app password.
Auto-provisioning
When auto-provisioning is enabled, someone who signs in via SSO for the first time is added to your workspace automatically. Cirrux creates a user account, a mailbox at your workspace’s default domain, and a workspace membership, with no invitation needed.
If a user with a matching email address already exists in your workspace, their account is linked to the SSO identity on first login. No duplicate accounts are created.
Enforcement
SSO can optionally be enforced for your workspace. When enforcement is on:
- Non-admin members are sent to your identity provider when they sign in
- Password sign-in on the login page is refused for them, whether they type their address, their username or another alias
- Workspace admins keep password access, so you are never locked out if your identity provider is down
Setup
Setting it up with us
- Create an OIDC application in your identity provider (see the guides below)
- Email help@cirrux.info with your issuer URL, and we arrange with you how to hand over the
client_idandclient_secret - We add the connection to your workspace. Cirrux discovers your provider’s endpoints from its
.well-known/openid-configurationdocument - Tell us whether you want auto-provisioning and enforcement switched on
Callback URL
When configuring your identity provider, you will need to set the redirect (callback) URI to:
Make sure this is added as an allowed redirect URI in your identity provider’s application configuration.
Required scopes
Cirrux requests the following OIDC scopes by default:
These scopes allow Cirrux to read the user’s email address and name from the ID token. Make sure your identity provider is configured to include these claims.
Identity provider guides
Okta
- In Okta, go to Applications → Create App Integration
- Select OIDC (OpenID Connect) as the sign-in method
- Select Web Application as the application type
- Set the Sign-in redirect URI to
https://api.cirrux.info/auth/sso/callback - Under Assignments, assign the users or groups who should have access
- Send us the Client ID and Client Secret
- Use your Okta domain (e.g.
https://your-org.okta.com) as the issuer URL in Cirrux
Microsoft Entra ID (Azure AD)
- In the Azure portal, go to Microsoft Entra ID → App registrations → New registration
- Set the Redirect URI to Web and enter
https://api.cirrux.info/auth/sso/callback - Under Certificates & secrets, create a new client secret
- Send us the Application (client) ID and the client secret value
- Use
https://login.microsoftonline.com/your-tenant-id/v2.0as the issuer URL in Cirrux - Under API permissions, ensure
openid,email, andprofileare granted
Google Workspace
- In the Google Cloud Console, go to APIs & Services → Credentials
- Create an OAuth 2.0 Client ID with application type Web application
- Add
https://api.cirrux.info/auth/sso/callbackas an authorized redirect URI - Send us the Client ID and Client Secret
- Use
https://accounts.google.comas the issuer URL in Cirrux
User identity mapping
How users are matched
When a user signs in via SSO, Cirrux resolves their identity in the following order:
- By SSO subject: if the user has signed in via SSO before, they are matched by the identity provider’s unique subject identifier
- By email address: if a workspace member exists with a matching email, the SSO identity is linked to that membership
- Auto-provision: if there is no match and auto-provisioning is enabled, a new user and mailbox are created. Without auto-provisioning, sign-in fails and the user is asked to contact their administrator
Once linked, the SSO subject is stored on the workspace membership, so future logins are matched directly without relying on email address.