No login
No accounts, or a public page. Nothing to do.
Same domain
Extra served from your site. Config only.
Other domain
Extra on its own hostname. One endpoint.
No login
Same domain
Serve Extra from a path on the site your users already sign into — sayacme.com/agents — and it reads the session they already have.
Works with any app that issues a session JWT — Open WebUI, Django, Rails, most
Node stacks. If your user id isn’t in the
sub claim, set
AGENT_AUTH_CLAIM_USER_ID.Other domain
Browsers won’t send your session cookie to a different hostname, so your backend vouches for the user instead.401 — the widget falls back to an anonymous pass.
Signing in keeps the conversation
Someone who chats before logging in doesn’t lose it. On their first authenticated request the widget hands their pass over and those conversations move onto their account. Automatic, and it only happens once.Signing out
Settings
Rotating
AGENT_AUTH_SECRET is safe: widgets fetch a fresh token on their next
request.