HansaChat

Documentation

Autentisering och arbetsytor

Inloggning, sessioner, nyckelring, kontexter och tokens utan nyckelring.

CLI:n har ett konto per arbetsyta. Autentiseringsuppgifterna ligger i operativsystemets nyckelring (tjänsten hansa); de visas aldrig i kontextfilen, loggarna eller utdata.

Logga in

hansa chat login --workspace yourworkspace

Det här frågar efter er e-post och ert lösenord. Kräver arbetsytan tvåfaktorsautentisering frågas ni efter en TOTP-kod eller en återställningskod.

I skript läser ni autentiseringsuppgifterna från stdin i stället för från flaggor eller miljövariabler:

echo '{"email": "you@example.com", "password": "…"}' \
  | hansa chat login --workspace yourworkspace --credentials-stdin

JSON:en kan också innehålla "totp" eller "recovery_code" när tvåfaktorsautentisering krävs.

En giltig sparad session gör en upprepad inloggning till en no-op. Använd --reauth för att medvetet ersätta den lagrade sessionen.

Sessioner och förnyelse

Åtkomsttokens förnyas automatiskt med en roterande refresh-token, skyddad av ett lås per arbetsyta så att parallella CLI-processer aldrig förstör varandras session. Blir den lagrade sessionen oanvändbar tar CLI:n bort den och ber er logga in igen.

Att logga ut återkallar sessionen på servern och raderar de lagrade autentiseringsuppgifterna. Att köra kommandet två gånger är säkert:

hansa chat logout --workspace yourworkspace

Kontexter

En kontext är en sparad arbetsyta: dess domän, eventuell API-överskrivning och huruvida autentiseringsuppgifter finns. Tokens visas aldrig.

hansa context list        # saved contexts, default marker
hansa context show        # details for the current workspace
hansa context use yourworkspace     # set the default workspace
hansa context remove yourworkspace  # log out remotely and delete everything

Arbetsytan avgörs i den här ordningen: flaggan --workspace, därefter miljövariabeln HANSA_WORKSPACE, därefter den sparade standarden.

Headless-miljöer

Utan nyckelring (CI-containrar, cron-jobb) tillhandahåller ni tokens via miljön:

export HANSA_ACCESS_TOKEN="…"
export HANSA_REFRESH_TOKEN="…"   # optional, enables automatic refresh

Tokens skrivs aldrig till disk i det här läget, och inloggning utan en användbar nyckelring misslyckas uttryckligen i stället för att lagra autentiseringsuppgifterna i klartext.