Сведения о проверке подлинности
GitHub Copilot CLI поддерживает три метода аутентификации. Метод зависит от того, работаете ли вы интерактивно или в автоматизированной среде.
-
**OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login` Интерфейс командной строки Copilot, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации. -
**Переменные среды**: рекомендуется для CI/CD конвейеров, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки. -
**GitHub CLI запасной вариант**: Если у вас установлен и аутентифицирован GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) , Интерфейс командной строки Copilot может автоматически использовать свой токен. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных.
После аутентификации Интерфейс командной строки Copilot запоминает ваш логин и автоматически использует токен для всех запросов API Copilot. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.
Поддерживаемые типы токенов
| Тип токена | Префикс | Поддерживается | Примечания. |
|---|---|---|---|
| OAuth токен (поток устройств) | gho_ | Да | Метод по умолчанию через copilot login |
| Мелкозернистый PAT | github_pat_ | Да | Необходимо включать необходимые разрешения. Запросы на второго пилота |
| GitHub App user-to-server | ghu_ | Да | Через переменную среды |
| Классический PAT | ghp_ | нет | Не поддерживается Интерфейс командной строки Copilot |
Как Copilot CLI хранит учетные данные
По умолчанию CLI хранит ваш OAuth токен в ключевом наборе операционной системы под именем copilot-cliсервиса:
| Platform | Брелок |
|---|---|
| macOS | Доступ с брелками |
| Виндоус | Менеджер учетных данных |
| Линукс | libsecret (GNOME Keyring, KWallet) |
Если системный ключ недоступен — например, на безголовом сервере Linux без libsecret установленного — CLI предлагает сохранить токен в открытом конфигурационном файле по адресу ~/.copilot/config.json.
При запуске команды Интерфейс командной строки Copilot проверяет учетные данные в следующем порядке:
- переменная среды
COPILOT_GITHUB_TOKEN - переменная среды
GH_TOKEN - переменная среды
GITHUB_TOKEN - Токен OAuth из системного ключа
- Запасной вариант GitHub CLI
gh auth token()
Примечание.
Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать GH_TOKEN другой инструмент, CLI использует этот токен вместо токена OAuth из copilot login. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI.
Аутентификация с помощью OAuth
Поток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, запуская /login данные с Интерфейс командной строки Copilot или copilot login с вашего терминала.
Проверка подлинности с помощью /login
-
Из Интерфейс командной строки Copilot запустить
/login.Bash /login
/login -
Выберите аккаунт, с которого хотите аутентифицироваться. Для GitHub Enterprise Cloud с data residecy введите имя хоста вашего экземпляра
What account do you want to log into? 1. GitHub.com 2. GitHub Enterprise Cloud with data residency (*.ghe.com) -
CLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.
Waiting for authorization... Enter one-time code: 1234-5678 at https://github.com/login/device Press any key to copy to clipboard and open browser... -
Перейдите по URL
https://github.com/login/deviceпроверки, если ваш браузер не открылся автоматически. -
Вставьте одноразовый код в поле на странице.
-
Если ваша организация использует SAML SSO, нажмите «Авторизировать » рядом с каждой организацией, к которой хотите предоставить доступ.
-
Просмотрите запрошенные права и нажмите «Авторизовать GitHub Copilot CLI».
-
Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.
Signed in successfully as Octocat. You can now use Copilot.
Проверка подлинности с помощью copilot login
-
От терминала беги
copilot login. Если вы используете GitHub Enterprise Cloud с data residecy, передайте имя хоста вашего экземпляра.Bash copilot login
copilot loginДля GitHub Enterprise Cloud:
Bash copilot login --host HOSTNAME
copilot login --host HOSTNAMECLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.
To authenticate, visit https://github.com/login/device and enter code 1234-5678. -
Перейдите по URL
https://github.com/login/deviceпроверки, если ваш браузер не открылся автоматически. -
Вставьте одноразовый код в поле на странице.
-
Если ваша организация использует SAML SSO, нажмите «Авторизировать » рядом с каждой организацией, к которой хотите предоставить доступ.
-
Просмотрите запрошенные права и нажмите «Авторизовать GitHub Copilot CLI».
-
Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.
Signed in successfully as Octocat.
Аутентификация с помощью переменных окружения
Для неинтерактивных сред можно аутентифицировать, установив переменную среды с поддерживаемым токеном. Это идеально подходит для CI/CD конвейеров, контейнеров или безголовых серверов.
- Посетите Fine-grained personal access tokens.
- В разделе «Разрешения» нажмите Добавить разрешения и выберите Copilot Запросы.
- Щелкните Создать токен.
- Экспортируйте токен в конфигурации вашего терминала или среды. Используйте
COPILOT_GITHUB_TOKENпеременную ,GH_TOKENилиGITHUB_TOKENсреду (в порядке приоритета).
Аутентификация с помощью GitHub CLI
Если у вас установлен и аутентифицирован GitHub CLI, Интерфейс командной строки Copilot может использовать свой токен как запасной вариант. Этот метод имеет самый низкий приоритет и активируется только при отсутствии переменных окружающей среды и отсутствия сохранённого токена.
-
Проверьте, что GitHub CLI аутентифицированы.
Bash gh auth status
gh auth statusЕсли вы используете GitHub Enterprise Cloud с data reside, проверьте правильное имя хоста.
Bash gh auth status --hostname HOSTNAME
gh auth status --hostname HOSTNAME -
Выполните
copilot. CLI Copilot автоматически использует токен GitHub CLI. -
Проверьте
/userваш аутентифицированный аккаунт в CLI.
Переключение между учетными записями
Интерфейс командной строки Copilot поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI. Чтобы перечислить доступные аккаунты, запускайте /user list запрос Интерфейс командной строки Copilot. Чтобы переключиться на другой аккаунт, введите /user switch в подсказке.
Чтобы добавить ещё одну учётную запись, запустите copilot login с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.
Выход из системы и удаление учетных данных
Чтобы выйти из системы, введите /logout в запрос Интерфейс командной строки Copilot. Это удаляет локально хранимый токен, но не отменяет его на GitHub.
Чтобы отменить авторизацию приложения OAuth на GitHub и предотвратить её использование в других местах, следуйте этим шагам.
- Перейдите в настройки > приложений > Авторизованные OAuth приложения.
- Перейдите на страницу настроек:
- В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля.
- Нажмите кнопку "Параметры".
- В левой боковой панели нажмите «Приложения».
-
**В разделе Authorized OAuth Apps** нажмите <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab horizontal icon" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg> рядом с **GitHub CLI**, чтобы расширить меню и выбрать **Отменить**.