Make sure you're ready to take your app to production.
Prepare your SSO integration for production with this checklist of required steps and best practices.
This document offers guidance on integrating Single Sign-On with the standalone API into an existing auth stack. Consider AuthKit as a complete authentication platform that leverages Single Sign-On functionality out of the box, following best practices.
WorkOS makes use of Cloudflare to ensure security and reliability of all operations. To create a list of allowed IP addresses for redirect requests, use the IP Ranges listed in the Cloudflare documentation.
If a user is authenticating to the application for the first time via SSO and does not have an account, implement just-in-time provisioning to create a user when authentication is complete.
Alternatively, leverage Directory Sync to pre-provision users with API endpoints or webhooks. In this case, the user will already exist in the application when they authenticate for the first time.
If a user is authenticating to the application via SSO but already has an account (with username/password for example), “upgrade” them to SSO. The emails are usually the same for both methods of authentication, so match on email address. Once SSO via WorkOS is enabled, restrict users to sign in with only SSO.
WorkOS normalizes user attributes to provide known values such as id, email,firstName, and lastName.
Yes. For example, the http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname attribute may contain the user email rather than the surname as the attribute name suggests. In these edge cases, WorkOS identifies any attributes that are misconfigured and recommends correct mapping in the “Attribute Mapper” section of the “Connection info” page.
By default, WorkOS restricts user profiles for SAML Connections to profiles that have email domains that are in the set of User Email Domains on the Organization.
Enabling this option removes this restriction and allows user profiles with any email address to sign in through Connections under this Organization.
If this option is enabled, the returned email attribute on user profiles cannot be exclusively trusted as a verified email address. Instead, use the organization_id or connection_id to verify that the profile belongs to whom it claims.
This refers to the number of user profiles that have inconsistent attribute mappings, and that need to be updated in order to successfully authenticate.
For mobile applications, implement SSO authentication as follows: