---
read_when:
    - Вы хотите разобраться во всём процессе OAuth в OpenClaw от начала до конца
    - Возникают проблемы с аннулированием токена или выходом из системы
    - Вам нужны Claude CLI или потоки OAuth-аутентификации
    - Вам нужно несколько учётных записей или маршрутизация по профилям
summary: 'OAuth в OpenClaw: обмен токенами, хранение и шаблоны работы с несколькими учётными записями'
title: OAuth
x-i18n:
    generated_at: "2026-07-16T16:21:17Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 3ef94af0601b7d57bb7e2d53c3d8231708b401251eca7dc1bb1e7e4fc09b46da
    source_path: concepts/oauth.md
    workflow: 16
---

OpenClaw поддерживает OAuth («аутентификацию по подписке») для провайдеров, которые его предлагают,
в частности **OpenAI Codex (ChatGPT OAuth)** и **повторное использование Anthropic Claude CLI**.
Для Anthropic на практике различаются следующие варианты:

- **API-ключ Anthropic**: обычная тарификация Anthropic API.
- **Anthropic Claude CLI / аутентификация по подписке в OpenClaw**: сотрудники Anthropic
  сообщили нам, что такое использование снова разрешено, поэтому OpenClaw считает повторное использование Claude CLI и
  использование `claude -p` разрешёнными для этой интеграции, если Anthropic
  не опубликует новую политику. Для Anthropic в рабочей среде аутентификация
  по API-ключу по-прежнему остаётся более безопасным рекомендуемым вариантом.

OpenClaw хранит как аутентификацию по API-ключу OpenAI, так и ChatGPT/Codex OAuth под
каноническим идентификатором провайдера `openai`. Старые идентификаторы профилей `openai-codex:*` и
записи `auth.order.openai-codex` являются устаревшим состоянием, которое исправляется командой
`openclaw doctor --fix`; для новой конфигурации используйте идентификаторы профилей `openai:*` и `auth.order.openai`.

На этой странице рассматриваются:

- как работает **обмен токенами** OAuth (PKCE)
- где **хранятся** токены (и почему)
- как работать с **несколькими учётными записями** (профили и переопределения для отдельных сеансов)

Плагины провайдеров, предоставляющие собственный процесс OAuth или API-ключа, используют
ту же точку входа:

```bash
openclaw models auth login --provider <id>
```

## Приёмник токенов (зачем он нужен)

Провайдеры OAuth обычно выпускают новый токен обновления при каждом входе или обновлении.
Некоторые провайдеры аннулируют предыдущий токен обновления, когда для того же
пользователя и приложения выпускается новый. Практический симптом: после входа через OpenClaw _и_
через Claude Code / Codex CLI один из них позднее случайным образом теряет авторизацию.

Чтобы снизить вероятность этого, OpenClaw использует хранилище профилей аутентификации как **приёмник токенов**:

- среда выполнения считывает учётные данные каждого агента из одного места
- несколько профилей могут сосуществовать и маршрутизироваться детерминированно
- повторное использование внешнего CLI зависит от провайдера: как только OpenClaw становится владельцем локального профиля OAuth
  для провайдера, локальный токен обновления становится каноническим. Если этот локальный
  токен обновления отклонён, OpenClaw сообщает, что для профиля требуется
  повторная аутентификация, вместо отката к материалам токена внешнего CLI.
  Первоначальная инициализация из Codex CLI ещё более ограничена: она может заполнить только пустой
  профиль в стиле `openai:default`, прежде чем OpenClaw станет владельцем OAuth
  для этого провайдера; после этого обновления, принадлежащие OpenClaw, остаются каноническими
- пути проверки состояния и запуска ограничивают обнаружение внешних CLI набором уже
  настроенных провайдеров, поэтому хранилище входа постороннего CLI не проверяется
  при конфигурации с одним провайдером

## Хранилище (где находятся токены)

Секреты хранятся отдельно для каждого агента под логическим именем `auth-profiles.json`
(базовым хранилищем является база данных SQLite агента; имя JSON сохранено
для совместимости и отображения в инструментах):

- Профили аутентификации (OAuth + API-ключи + необязательные ссылки на уровне значений):
  `~/.openclaw/agents/<agentId>/agent/auth-profiles.json`
- Устаревший файл совместимости: `~/.openclaw/agents/<agentId>/agent/auth.json`
  (статические записи `api_key` удаляются при обнаружении)

Устаревший файл, используемый только для импорта (по-прежнему поддерживается, но не является основным хранилищем):

- `~/.openclaw/credentials/oauth.json` (импортируется в хранилище профилей аутентификации при первом использовании)

Всё перечисленное также учитывает `$OPENCLAW_STATE_DIR` (переопределение каталога состояния). Полное описание: [/gateway/configuration-reference#auth-storage](/ru/gateway/configuration-reference#auth-storage)

Сведения о статических ссылках на секреты и активации снимков среды выполнения см. в разделе [Управление секретами](/ru/gateway/secrets).

Если у дополнительного агента нет локального профиля аутентификации, OpenClaw использует сквозное
наследование из хранилища агента по умолчанию/главного агента; при чтении хранилище главного
агента не клонируется. Токены обновления OAuth особенно чувствительны: обычные
операции копирования по умолчанию пропускают их, поскольку некоторые провайдеры заменяют или аннулируют
токены обновления после использования. Настройте отдельный вход OAuth для агента, если
ему требуется независимая учётная запись.

## Повторное использование Anthropic Claude CLI

OpenClaw поддерживает повторное использование Anthropic Claude CLI и `claude -p` как разрешённый
способ аутентификации. Если на хосте уже выполнен локальный вход в Claude,
мастер первоначальной настройки или конфигурации может использовать его напрямую. Токен настройки Anthropic
остаётся доступным как поддерживаемый способ аутентификации по токену, но OpenClaw предпочитает
повторное использование Claude CLI, когда оно доступно.

<Warning>
В публичной документации Anthropic по Claude Code сказано, что непосредственное использование Claude Code остаётся в рамках
лимитов подписки Claude, а сотрудники Anthropic сообщили нам, что использование Claude
CLI в стиле OpenClaw снова разрешено. Поэтому OpenClaw считает повторное использование Claude CLI и
использование `claude -p` разрешёнными для этой интеграции, если Anthropic
не опубликует новую политику.

Актуальную документацию Anthropic по планам для непосредственного использования Claude Code см. в разделах [Использование Claude Code
с планом Pro или Max
](https://support.claude.com/en/articles/11145838-using-claude-code-with-your-pro-or-max-plan)
и [Использование Claude Code с планом Team или Enterprise
](https://support.anthropic.com/en/articles/11845131-using-claude-code-with-your-team-or-enterprise-plan/).

Другие варианты использования подписки в OpenClaw описаны в разделах [OpenAI
Codex](/ru/providers/openai), [план Qwen Cloud Coding
](/ru/providers/qwen), [план MiniMax Coding](/ru/providers/minimax)
и [план Z.AI / GLM Coding](/ru/providers/zai).
</Warning>

## Обмен OAuth (как работает вход)

Интерактивные процессы входа OpenClaw реализованы в `openclaw/plugin-sdk/llm.ts` и подключены к мастерам и командам.

### Токен настройки Anthropic

Схема процесса:

1. создайте токен, выполнив `claude setup-token` на любом компьютере с Claude Code, затем запустите настройку Anthropic по токену или вставку токена из OpenClaw
2. OpenClaw сохраняет полученные учётные данные Anthropic в профиле аутентификации
3. выбор модели остаётся на `anthropic/...`
4. существующие профили аутентификации Anthropic остаются доступными для отката и управления порядком

### OpenAI Codex (ChatGPT OAuth)

OAuth OpenAI Codex явно поддерживается для использования вне Codex CLI, включая рабочие процессы OpenClaw.

Команда входа использует канонический идентификатор провайдера OpenAI:

```bash
openclaw models auth login --provider openai
```

Используйте `--profile-id openai:<name>` для нескольких учётных записей ChatGPT/Codex OAuth в
одном агенте. Не используйте `openai-codex:<name>` для новых профилей. Doctor переносит
этот старый префикс в идентификатор профиля `openai:*`, исключающий коллизии; после исправления выполните
`openclaw models auth list --provider openai`, прежде чем копировать
идентификаторы профилей в `auth.order` или `/model ...@<profileId>`.

Схема процесса (PKCE):

1. создать проверочное значение и контрольное значение PKCE, а также случайное значение `state`
2. открыть `https://auth.openai.com/oauth/authorize?...` (область действия
   `openid profile email offline_access`)
3. попытаться перехватить обратный вызов на `http://localhost:1455/auth/callback` (по умолчанию
   хостом обратного вызова является `localhost`, и допускаются только хосты обратной петли;
   переопределите его с помощью `OPENCLAW_OAUTH_CALLBACK_HOST`)
4. если код можно вставить до поступления обратного вызова (или используется
   удалённая среда без графического интерфейса и привязать обратный вызов невозможно), вместо этого вставьте URL-адрес перенаправления или код
   — ручная вставка конкурирует с обратным вызовом браузера, и используется вариант,
   завершившийся первым
5. обменять код на `https://auth.openai.com/oauth/token`
6. извлечь `accountId` из токена доступа и сохранить `{ access, refresh, expires, accountId }`

Путь в мастере: `openclaw onboard` → вариант аутентификации `openai`.

## Обновление и срок действия

Профили хранят временную метку `expires`. Во время выполнения:

- если `expires` находится в будущем, использовать сохранённый токен доступа
- если срок действия истёк, обновить токен (под файловой блокировкой) и перезаписать сохранённые учётные данные
- если дополнительный агент считывает унаследованный профиль OAuth главного агента,
  результат обновления записывается обратно в хранилище главного агента, а токен обновления
  не копируется в хранилище дополнительного агента
- учётные данные CLI под внешним управлением (Claude CLI и ограниченная первоначальная инициализация из Codex CLI;
  см. [Приёмник токенов](#the-token-sink-why-it-exists)) считываются повторно вместо
  расходования скопированного токена обновления. Если управляемое обновление завершается с ошибкой, OpenClaw
  сообщает, что затронутому профилю требуется повторная аутентификация, вместо возврата
  материалов токена внешнего CLI.

Обновление выполняется автоматически; обычно управлять токенами вручную не требуется.

## Несколько учётных записей (профилей) и маршрутизация

Два варианта:

### 1) Рекомендуемый: отдельные агенты

Чтобы «личная» и «рабочая» среды никогда не взаимодействовали, используйте изолированных агентов (отдельные сеансы, учётные данные и рабочие пространства):

```bash
openclaw agents add work
openclaw agents add personal
```

Затем настройте аутентификацию отдельно для каждого агента (через мастер) и направляйте чаты нужному агенту.

### 2) Расширенный: несколько профилей в одном агенте

Хранилище профилей аутентификации поддерживает несколько идентификаторов профилей одного провайдера.
Выберите используемый профиль:

- глобально через порядок в конфигурации (`auth.order`)
- для отдельного сеанса через `/model ...@<profileId>`

Пример (переопределение для сеанса):

- `/model Opus@anthropic:work`

Вывести существующие идентификаторы профилей можно командой:

```bash
openclaw models auth list --provider <id>
```

Связанная документация:

- [Переключение моделей при сбое](/ru/concepts/model-failover) (правила ротации и периода ожидания)
- [Команды с косой чертой](/ru/tools/slash-commands) (интерфейс команд)

## См. также

- [Аутентификация](/ru/gateway/authentication) — обзор аутентификации у провайдеров моделей
- [Секреты](/ru/gateway/secrets) — хранение учётных данных и SecretRef
- [Справочник по конфигурации](/ru/gateway/configuration-reference#auth-storage) — ключи конфигурации аутентификации
