Setup
- Create a connection. Choose the protocol, give it a name, and list the email domains it covers, such as
acme.com. - Verify your domain. Add the DNS record shown on the connection, for example
TXT _orvlin-sso.acme.com = orvlin-sso=…, then press Check DNS. Until a domain is verified, nobody can sign in through the connection for it. Public mail domains such as gmail.com cannot be claimed. - Configure your identity provider with the values shown on the connection card.
- Test it. Sign out, choose Sign in with SSO on the login page, and enter a work email.
- Optional: require SSO. This turns off password and magic-link sign-in for people on those domains.
Identity provider settings
How sign-in works
- People without an Orvlin user are created on their first sign-in. Turn off Create users on first sign-in to require invitations instead. SSO users get the standard
userrole. - After the identity provider responds, the browser receives a single-use code valid for 60 seconds, and the dashboard exchanges it for a normal session. Tokens never appear in a URL.
Security model
- An identity provider is trusted only for its workspace’s verified domains. If it asserts an email on any other domain, sign-in is refused.
- A person who already belongs to a different Orvlin workspace cannot sign in through another workspace’s connection.
- OIDC: authorization code flow with PKCE (S256). The state and nonce are single-use. The ID token signature is checked against the provider’s published keys, and the issuer, audience, expiry, and nonce are enforced.
email_verified: falseis refused. - SAML: the assertion signature must verify against the configured certificate. The audience, recipient, and validity window are enforced. A response can be used once. Sign-in must start from Orvlin; IdP-initiated responses are refused.
- Client secrets are stored encrypted.