> ## Documentation Index
> Fetch the complete documentation index at: https://exosphere-auto-translate-docs-20260626-1023.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Вход в систему

> Войдите в FailproofAI из CLI, чтобы получить доступ к напоминаниям и персональным функциям

```bash theme={null}
failproofai auth login    # email + одноразовый код
failproofai auth logout   # отозвать текущий сеанс
failproofai auth whoami   # вывести идентификацию вошедшего пользователя
```

Устаревшая форма флагов `--login` / `--logout` / `--whoami` по-прежнему поддерживается как псевдоним для обратной совместимости.

Аутентификация — добровольная. Политики, панель управления, страница `/audit` и все остальные локальные функции работают одинаково независимо от того, вошли ли вы в систему или нет. Экран входа существует для функций, которые **требуют** стабильного идентификатора (напоминания о переаудите сегодня, в будущем и больше).

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

```bash theme={null}
failproofai auth login
```

Запросит ваш адрес электронной почты, отправит 6-значный одноразовый код на этот адрес, запросит код, а при успехе запишет `~/.failproofai/auth.json` (режим `0600`). Тот же сеанс станет видимым в панели приложения — при нажатии `[ set a reminder ]` на `/audit` вы будете отображаться как вошедший в систему.

Панель управления предоставляет тот же процесс в виде модального диалога на `/audit` для пользователей, которые никогда не используют CLI.

## Выход из системы

```bash theme={null}
failproofai auth logout
```

Отзывает текущий сеанс на сервере и удаляет `~/.failproofai/auth.json`. Если api-сервер недоступен, локальный файл удаляется в любом случае — локальное намерение выйти из системы всегда имеет приоритет.

## Проверка личности

```bash theme={null}
failproofai auth whoami
```

Выводит `<email> (<user uuid>)` и завершает работу с кодом 0, если существует действительный сеанс, или `not signed in` и завершает работу с кодом 1 в противном случае. Незаметно обновляет маркер доступа в фоне, если до его истечения остаётся менее минуты.

## Постоянное напоминание о переаудите

Когда вы нажимаете **`[ set a reminder ]`** на странице `/audit` (или входите через модальное окно, которое вскрывает кнопка), панель управления создаёт небольшой вспомогательный файл в `~/.failproofai/next-audit.json`:

```json theme={null}
{
  "next_audit_at": 1780765200,
  "user_email": "you@example.com",
  "set_at": 1780160574
}
```

Этот файл привязан к электронной почте, для которой он был установлен — переключение сеанса CLI на другую учётную запись скроет любое напоминание, относящееся к предыдущему пользователю. Смещение по умолчанию составляет **7 дней**, оно будет настраиваемым после добавления планировщика. Создаётся с разрешениями `0600`, как и `auth.json`.

Точка доступа `/api/auth/reminder` панели управления предоставляет `GET` (чтение), `POST` (установка / переназначение) и `DELETE` (очистка) и требует активный сеанс.

## Содержимое `~/.failproofai/auth.json`

```json theme={null}
{
  "access_token": "eyJhbGc…",
  "refresh_token": "9ede3e…",
  "access_expires_at": 1780160574,
  "refresh_expires_at": 1782748974,
  "user": { "id": "<uuid>", "email": "you@example.com" }
}
```

Создаётся с разрешениями `0600` (чтение/запись только для владельца). Маркер доступа — это JWT на основе HS256 с временем жизни 1 час; маркер обновления — это непрозрачная случайная строка на 256 бит, которую сервер хранит как `SHA-256(token)`. Повторное использование маркера обновления обнаруживается на стороне сервера и отзывает все сеансы пользователя.

## Переменные окружения

| Переменная             | По умолчанию                 | Назначение                                                                                                          |
| ---------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `FAILPROOF_API_URL`    | `https://api.befailproof.ai` | Переопределить базовый URL api-сервера. Полезно для локальной разработки с самостоятельно размещённым api-сервером. |
| `FAILPROOFAI_AUTH_DIR` | `~/.failproofai`             | Переопределить, где хранится `auth.json`. В основном для тестов.                                                    |

Полный список см. в разделе [Переменные окружения](/ru/cli/environment-variables).

## Устранение неполадок

**"Could not reach the api-server"** — CLI не может открыть TCP-соединение с `FAILPROOF_API_URL`. Проверьте сетевое соединение или установите `FAILPROOF_API_URL`, если вы используете самостоятельно размещённый api-сервер.

**"Rate limited"** — слишком много попыток входа в 15-минутном окне для этой электронной почты (5 на адрес) или IP (20 на IP), либо 30-секундный период ограничения повторной отправки после предыдущего запроса для той же электронной почты. Сообщение об ошибке включает интервал повтора в секундах.

**Code rejected** — OTP неверен, истёк срок действия или достигнут лимит из 5 неправильных попыток. Запустите `failproofai auth login` снова, чтобы запросить новый код.
