--login / --logout / --whoami по-прежнему поддерживается как псевдоним для обратной совместимости.
Аутентификация является опциональной. Политики, приборная панель, страница /audit и все остальные локальные функции работают одинаково независимо от того, вошли вы в систему или нет. Интерфейс входа существует для того, чтобы функции, которым требуется стабильная идентификация (напоминания о переаудите сегодня, более в будущем), имели якорь.
Процесс входа
~/.failproofai/auth.json (режим 0600). Тот же сеанс затем видим на встроенной приборной панели — нажатие [ set a reminder ] на /audit покажет вас как вошедшего.
Приборная панель предоставляет тот же процесс в виде модального диалога на /audit для пользователей, которые никогда не работают с CLI.
Выход
~/.failproofai/auth.json. Если api-сервер недоступен, локальный файл удаляется в любом случае — локальное намерение выйти всегда имеет приоритет.
Проверка идентификации
<email> (<user uuid>) и выходит с кодом 0, когда существует действительный сеанс, или not signed in и выходит с кодом 1 в противном случае. Молча обновляет токен доступа в фоне, если он находится в пределе минуты до истечения.
Постоянное напоминание о переаудите
Когда вы нажимаете[ set a reminder ] на странице /audit (или входите через модальное окно, которое закрывает кнопка), приборная панель записывает небольшой сопутствующий файл в ~/.failproofai/next-audit.json:
0600 как auth.json.
Конечная точка /api/auth/reminder приборной панели предоставляет GET (чтение), POST (установка / переплан) и DELETE (очистка) и требует активного сеанса.
Что находится в ~/.failproofai/auth.json
0600 (чтение/запись только владельцем). Токен доступа — это 1-часовой HS256 JWT; токен обновления — это непрозрачная 256-битная случайная строка, которую сервер хранит как SHA-256(token). Повторное использование токена обновления обнаруживается на стороне сервера и отзывает все сеансы пользователя.
Переменные окружения
См. Переменные окружения для полного списка.
Устранение неполадок
“Could not reach the api-server” — CLI не может открыть TCP-соединение сFAILPROOF_API_URL. Проверьте вашу сеть или установите FAILPROOF_API_URL, если вы запускаете самостоятельно размещенный api-сервер.
“Rate limited” — слишком много попыток входа в течение 15-минутного окна для этого адреса электронной почты (5/email) или IP (20/IP), или 30-секундная задержка перед повторной отправкой после предыдущего запроса для того же адреса. Сообщение об ошибке содержит окно retry-after в секундах.
Code rejected — OTP был неправильным, истек или строка достигла блокировки после 5 неправильных попыток. Запустите failproofai auth login снова, чтобы запросить новый код.
