Skip to main content
Устаревшая форма флагов --login / --logout / --whoami по-прежнему поддерживается как псевдоним для обратной совместимости. Аутентификация является опциональной. Политики, приборная панель, страница /audit и все остальные локальные функции работают одинаково независимо от того, вошли вы в систему или нет. Интерфейс входа существует для того, чтобы функции, которым требуется стабильная идентификация (напоминания о переаудите сегодня, более в будущем), имели якорь.

Процесс входа

Запрашивает ваш адрес электронной почты, отправляет на него 6-значный одноразовый код, запрашивает код и при успехе записывает ~/.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:
Этот файл привязан к электронной почте, для которой он был установлен — переключение сеанса CLI на другой аккаунт скрывает любое напоминание, принадлежащее предыдущему пользователю. Смещение по умолчанию — 7 дней, позже будет настраиваться при внедрении планировщика. Создан с разрешениями 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 снова, чтобы запросить новый код.