Core integration
The wheel installsplugins.single_sign_on. Plugin metadata mounts it at /sso/, registers its one-time-token path as public, and appends plugins.single_sign_on.middleware.sso.SSOMiddleware to Core middleware.
Model and flow
DisposableAuthenticationToken stores a token that links an authenticated user/profile to a target business and expires according to SSO_TOKEN_TTL_SECONDS.
/sso/redirect/<business_id>/creates or selects a cross-business destination.- A one-time token is issued for the transition.
/sso/one-time/<token>/checks the token, expiry, user/profile, and target business.- The token is consumed and the user is signed into the target context.
- The role-specific redirect setting determines the final destination.
SSOMiddleware moves eligible temporary profiles into the appropriate Ruoom business flow.
Routes
/sso/redirect/<business_id>/: initiate a business-to-business redirect (single_sign_on:sso_redirect)./sso/one-time/<token>/: consume a UUID authentication token (single_sign_on:one_time_token_auth).
