CLI przechowuje jedno konto na przestrzeń roboczą. Dane uwierzytelniające są zapisywane w systemowym kluczyku (usługa hansa); nigdy nie pojawiają się w pliku kontekstu, logach ani w wynikach.
Logowanie
hansa chat login --workspace yourworkspace
Polecenie pyta o Twój adres e-mail i hasło. Jeśli przestrzeń robocza wymaga uwierzytelniania dwuskładnikowego, zostaniesz poproszony o kod TOTP lub kod zapasowy.
W skryptach odczytuj dane uwierzytelniające ze standardowego wejścia, zamiast podawać je w parametrach lub zmiennych środowiskowych:
echo '{"email": "you@example.com", "password": "…"}' \
| hansa chat login --workspace yourworkspace --credentials-stdin
JSON może też zawierać pola "totp" lub "recovery_code", gdy wymagane jest uwierzytelnianie dwuskładnikowe.
Ważna zapisana sesja sprawia, że ponowne logowanie nic nie zmienia. Użyj --reauth, aby celowo zastąpić zapisaną sesję.
Sesje i odświeżanie
Tokeny dostępu odświeżają się automatycznie przy użyciu rotacyjnego tokenu odświeżania, chronionego blokadą dla poszczególnych przestrzeni roboczych, dzięki czemu równoległe procesy CLI nigdy nie psują nawzajem swoich sesji. Jeśli zapisana sesja przestanie być użyteczna, CLI usuwa ją i prosi o ponowne zalogowanie.
Wylogowanie unieważnia sesję na serwerze i usuwa zapisane dane uwierzytelniające. Dwukrotne wykonanie jest bezpieczne:
hansa chat logout --workspace yourworkspace
Konteksty
Kontekst to jedna zapisana przestrzeń robocza: jej domena, opcjonalne nadpisanie adresu API oraz informacja, czy istnieją dane uwierzytelniające. Tokeny nie są nigdy wyświetlane.
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
Kolejność rozpoznawania przestrzeni roboczej: parametr --workspace, potem zmienna środowiskowa HANSA_WORKSPACE, na końcu zapisana wartość domyślna.
Środowiska typu headless
Bez kluczyka (kontenery CI, zadania cron) podaj tokeny przez środowisko:
export HANSA_ACCESS_TOKEN="…"
export HANSA_REFRESH_TOKEN="…" # optional, enables automatic refresh
W tym trybie tokeny nigdy nie są zapisywane na dysku, a logowanie bez użytecznego kluczyka kończy się jawnym błędem zamiast zapisywania danych uwierzytelniających w postaci czystego tekstu.