See the v1 standard SSO guide for step-by-step instructions on setting up standard SSO with the v1 format.
SDK functions
In@omni-co/embed v1.0.0 and later, the original function names now produce v1 URLs. The v0 builders are still exported, renamed with a deprecated prefix:
Both formats are temporarily accepted at
/embed/login.
The v1 functions accept the same parameters, with two differences:
- JSON-valued parameters are passed as objects and arrays instead of pre-stringified strings. See JSON-valued parameters for more information.
expiresInsets how long the generated URL stays valid. ThedeprecatedEmbedSso*builders accept and ignore it, because v0 URLs have nowhere to carry an expiry. See URL expiry for more information.
JSON-valued parameters
The v1 SDK functions accept the same parameters they did in v0, but parameters structured as JSON are now passed as objects and arrays instead of pre-stringified strings. In v0, you needed to stringify and then URL encode parameters with JSON values. For example:v0 parameter example
v1 parameter example
New parameters
exp (URL expiry)
Every v1 payload carries anexp parameter: the absolute moment the URL stops being valid, in epoch seconds, following the JWT convention.
- If you use the SDK, the SDK sets
expto 24 hours out by default. Use theexpiresInparameter to change the lifetime. - If you generate URLs manually, set
expyourself as part of the payload. Set it no more than seven days out to match the ceiling the SDK enforces.
exp is included in the payload, the signature already covers it. There’s no separate query parameter, and a URL’s expiry can’t be changed without re-signing.
When defining URL expiry, keep in mind that shorter expiries are better. Until the embed URL is redeemed, it’s a bearer credential - anyone who has it can start the session it describes, and URLs leak through browser history, referer headers, screenshots, and proxy logs. Generate URLs on demand where you can, and only use a longer lifetime when needed, such as a URL that goes out in an email or gets built by a nightly job.
Omni currently requires
exp to be present, but doesn’t yet reject URLs whose expiry has passed. By October 2026, Omni will begin enforcing URL expiry and reject payloads that don’t include an exp parameter. Migrate your code before then to avoid disruptions.Removed parameters
Thedomain parameter was removed in v1.0.0. Use host instead.

