Skip to content

v0.18.0

Release Date: 2026-10-20

This release adds the organization console: SystemAuth serves organization administration, starting with connections to external services, under /console on its own host, so applications link to it instead of building their own settings pages. The connections API also records how a credential is rotated, using the setup and rotation guidance that connectforge v0.4.0 adds to provider manifests. Nothing is breaking.

Highlights

  • The organization console. With a console section in the SystemAuth configuration, systemauthsvc mounts the console package under /console. It signs people in with the SystemAuth login session, serves the built pages of @plexusone/console from console.web_dir, and serves the connections API under /console/api, authorized by organization roles. State-changing requests must be same-origin, and every response carries a restrictive content security policy. See The Organization Console and ADR-018.
  • A session in the format @plexusone/host reads. /console/bff answers the session, sign-in redirects and sign-out, so the console's pages run in createHost like any application. Each organization lists the person's roles in the products and in the console, and the session carries the app catalog, so the console's product switcher links back to the products.
  • Return addresses. An application can link to the console with a return_to address. The console checks it with GET /console/api/v1/return-to against sign-in's redirect policy before sending the person back.
  • Rotation mode on connect. POST .../connections accepts an optional rotation, one of the modes the provider's auth method lists. It is kept in the connection's metadata under rotation; an unlisted mode is refused with 400. Provider manifests now carry setup steps and rotation modes, and health.credentialExpiresAt reports when a credential expires when the provider says. See Setup and rotation.
  • SystemAuth helpers for other handlers. systemauth.Server.ValidateReturnTo accepts a return address only where sign-in would redirect, and Server.EndLoginSession signs a person out as POST /logout does.

Upgrade notes

  1. Go modules. systemforge now requires github.com/plexusone/connectforge v0.4.0. The go directive stays at 1.26.6.
  2. Enabling the console. Add console.web_dir to the SystemAuth configuration and point it at a build of @plexusone/console. The console needs social_login; startup fails without it, or when web_dir has no index.html.
  3. Linking from applications. List the console in the app catalog with the ID console and its URL to offer it from an application's chrome. Product switchers leave it out, since nobody holds a role in it as a product.
  4. No migration. This release adds no schema changes.

Known limits

  • The console administers connections only; members, roles and access follow.
  • The console signs in only with social login.
  • SystemAuth records a connection's rotation mode but does not rotate credentials; a person replaces a credential by reconnecting.