[go: up one dir, main page]

Skip to main content

Аутентификация GitHub Copilot CLI

Аутентифицируйте Copilot CLI, чтобы использовать Copilot напрямую из командной строки.

Кто может использовать эту функцию?

GitHub Copilot CLI доступен со всеми планами Copilot. Если вы получаете Copilot из организации, политика Copilot CLI должна быть включена в параметрах организации.

Сведения о проверке подлинности

GitHub Copilot CLI поддерживает три метода аутентификации. Метод зависит от того, работаете ли вы интерактивно или в автоматизированной среде.

  •         **OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login` Copilot CLI, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации.
    
  •         **переменные среды**: Рекомендуется для CI/CD pipelines, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки.
    
  •         **GitHub CLI запасной вариант**: Если у вас установлен и аутентифицирован GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) , Copilot CLI может автоматически использовать свой токен. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных.
    

После аутентификации Copilot CLI запоминает ваш логин и автоматически использует токен для всех запросов API Copilot. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.

Поддерживаемые типы токенов

Тип токенаПрефиксПоддерживаетсяПримечания.
OAuth токен (поток устройств)gho_ДаМетод по умолчанию через copilot login
Мелкозернистый PATgithub_pat_ДаНеобходимо включать необходимые разрешения. Запросы на второго пилота
GitHub Приложение user-to-serverghu_ДаЧерез переменную среды
Классический PATghp_нетНе поддерживается Copilot CLI

Как Copilot CLI хранит учетные данные

По умолчанию CLI хранит ваш OAuth токен в ключевом наборе операционной системы под именем copilot-cliсервиса:

PlatformБрелок
macOSKeychain Access
ВиндоусМенеджер учетных данных
Линуксlibsecret (GNOME Keyring, KWallet)

Если системный ключ недоступен — например, на безголовом сервере Linux без libsecret установленного — CLI предлагает сохранить токен в открытом конфигурационном файле по адресу ~/.copilot/config.json.

При запуске команды Copilot CLI проверяет учетные данные в следующем порядке:

  1. переменная среды COPILOT_GITHUB_TOKEN
  2. переменная среды GH_TOKEN
  3. переменная среды GITHUB_TOKEN
  4. Токен OAuth из системного ключа
  5. GitHub Запасной вариант CLI (gh auth token)

Примечание.

Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать GH_TOKEN другой инструмент, CLI использует этот токен вместо токена OAuth из copilot login. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI.

Аутентификация с помощью OAuth

Поток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, запуская /login данные с Copilot CLI или copilot login с вашего терминала.

Проверка подлинности с помощью /login

  1. Из Copilot CLI запустить /login.

    Bash
    /login
    
  2. Выберите аккаунт, с которого хотите аутентифицироваться. Для 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)
    
  3. 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...
    
  4. Перейдите по URL проверки https://github.com/login/device, если ваш браузер не открылся автоматически.

  5. Вставьте одноразовый код в поле на странице.

  6. Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.

  7. Просмотрите запрошенные разрешения и нажмите Авторизовать GitHub Copilot CLI.

  8. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.

    Signed in successfully as Octocat. You can now use Copilot.
    

Проверка подлинности с помощью copilot login

  1. От терминала беги copilot login. Если вы используете GitHub Enterprise Cloud с data residecy, передайте имя хоста вашего экземпляра.

    Bash
    copilot login
    

    Для GitHub Enterprise Cloud:

    Bash
    copilot login --host HOSTNAME
    

    CLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.

    To authenticate, visit https://github.com/login/device and enter code 1234-5678.
    
  2. Перейдите по URL проверки https://github.com/login/device, если ваш браузер не открылся автоматически.

  3. Вставьте одноразовый код в поле на странице.

  4. Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.

  5. Просмотрите запрошенные разрешения и нажмите Авторизовать GitHub Copilot CLI.

  6. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.

    Signed in successfully as Octocat.
    

Аутентификация с помощью переменных окружения

Для неинтерактивных сред можно аутентифицировать, установив переменную среды с поддерживаемым токеном. Это идеально подходит для CI/CD pipelines, контейнеров или безголовых серверов.

  1. Посетите Fine-grained personal access tokens.
  2. В разделе «Разрешения» нажмите Добавить разрешения и выберите Copilot Запросы.
  3. Щелкните Создать токен.
  4. Экспортируйте токен в конфигурации вашего терминала или среды. Используйте COPILOT_GITHUB_TOKENпеременную , GH_TOKENили GITHUB_TOKEN среду (в порядке приоритета).

Аутентификация с помощью GitHub CLI

Если у вас установлен и аутентифицирован GitHub CLI, Copilot CLI может использовать свой токен как запасной вариант. Этот метод имеет самый низкий приоритет и активируется только при отсутствии переменных окружающей среды и отсутствия сохранённого токена.

  1. Проверьте, что GitHub CLI аутентифицированы.

    Bash
    gh auth status
    

    Если вы используете GitHub Enterprise Cloud с data reside, проверьте правильное имя хоста.

    Bash
    gh auth status --hostname HOSTNAME
    
  2. Выполните copilot. CLI Copilot автоматически использует токен GitHub CLI.

  3. Проверьте /user ваш аутентифицированный аккаунт в CLI.

Переключение между учетными записями

Copilot CLI поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI. Чтобы перечислить доступные аккаунты, запускайте /user list запрос Copilot CLI. Чтобы переключиться на другой аккаунт, введите /user switch в подсказке.

Чтобы добавить ещё одну учётную запись, запустите copilot login с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.

Выход из системы и удаление учетных данных

Чтобы выйти из системы, введите /logout в запрос Copilot CLI. Это удаляет локально хранящийся токен, но не отменяет его на GitHub.

Чтобы отменить авторизацию приложения OAuth на GitHub и предотвратить её использование в других местах, следуйте следующим шагам.

  1. Перейдите в настройки > приложений > Авторизованные OAuth приложения.
  2. Перейдите на страницу настроек:
    1. В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля.
    2. Нажмите кнопку "Параметры".
  3. В левой боковой панели нажмите «Приложения».
  4. В разделе Authorized OAuth Apps нажмите рядом с GitHub CLI чтобы расширить меню и выбрать Revoke.