---
title: "nb env auth"
description: "Справочник по команде nb env auth: аутентификация сохранённого env NocoBase через basic, token или OAuth."
keywords: "nb env auth,NocoBase CLI,basic,token,OAuth,вход,аутентификация"
---

# nb env auth

Повторно аутентифицирует сохранённый env NocoBase или обновляет сохранённые для него данные аутентификации. Если имя окружения не указано, используется текущий env.

`nb env auth` поддерживает три метода аутентификации: `basic`, `token` и `oauth`. Если `--auth-type` не указан, CLI сначала определяет метод по переданным параметрам аутентификации. Если метод всё ещё нельзя определить, используется метод аутентификации, уже сохранённый в env.

## Использование

```bash
nb env auth [name] [flags]
```

## Параметры

| Параметр | Тип | Описание |
| --- | --- | --- |
| `[name]` | string | Имя настроенного env, в который нужно войти; если не указано, используется текущий env |
| `--auth-type`, `-a` | string | Метод аутентификации: `basic`, `token` или `oauth` |
| `--access-token`, `-t` | string | API key или access token для аутентификации `token` |
| `--username` | string | Имя пользователя для аутентификации `basic`; в TTY запрашивается при отсутствии |
| `--password` | string | Пароль для аутентификации `basic`; в TTY запрашивается при отсутствии |

## Параметры совместимости

| Параметр | Тип | Описание |
| --- | --- | --- |
| `--env`, `-e` | string | Имя окружения, эквивалентно `[name]`. Этот скрытый параметр сохранён для совместимости с другими командами; обычно достаточно позиционного аргумента |

## Описание

Методы аутентификации работают так:

- `basic`: выполняет вход в NocoBase по имени пользователя и паролю, затем сохраняет возвращённый access token и имя пользователя
- `token`: сохраняет API key или access token, переданный через `--access-token`
- `oauth`: запускает поток аутентификации в браузере, затем сохраняет access token после завершения аутентификации

В интерактивном терминале CLI при необходимости запрашивает `--auth-type`, `--username`, `--password` или `--access-token`. В неинтерактивном режиме для аутентификации `basic` требуются и `--username`, и `--password`.

Аутентификация `oauth` сначала пытается использовать Device Authorization Grant. Если OAuth-сервер поддерживает этот поток, команда выводит URL проверки и пользовательский код, а затем опрашивает сервер, пока подтверждение в браузере не завершится. Это работает на удалённых или headless-серверах, потому что локальный callback-listener не требуется.

Если OAuth-сервер не предоставляет device authorization endpoint, команда возвращается к потоку PKCE loopback: запускает локальный callback-сервис, открывает браузер для авторизации, выполняет обмен token и сохраняет его в файл конфигурации.

После успешной аутентификации CLI автоматически запускает `nb env update <name>`, чтобы повторно синхронизировать состояние env.

## Ограничения

- `[name]` и `--env` не могут одновременно указывать разные имена окружения
- `--access-token` нельзя использовать вместе с `--username` или `--password`
- `--auth-type oauth` нельзя использовать вместе с `--access-token`, `--username` или `--password`
- `--auth-type token` нельзя использовать вместе с `--username` или `--password`
- `--auth-type basic` нельзя использовать вместе с `--access-token`
- `--access-token`, `--username` и `--password` не могут быть пустыми после передачи

## Примеры

```bash
# Аутентифицировать текущий env сохранённым методом аутентификации
nb env auth

# Аутентифицировать конкретный env
nb env auth prod

# Использовать OAuth-вход в браузере
nb env auth prod --auth-type oauth

# Войти по имени пользователя и паролю
nb env auth prod --auth-type basic --username admin --password secret

# Сохранить API key или access token
nb env auth prod --auth-type token --access-token <api-key>
```

Для device authorization откройте URL, выведенный командой, и введите показанный код в браузере.

## Связанные команды

- [`nb env add`](./add.md)
- [`nb env info`](./info.md)
- [`nb env update`](./update.md)
