Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise будет прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Обновление маркеров доступа "пользователь-сервер"

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

Примечание. Ограничение срока действия маркеров в настоящее время являются необязательной функцией и может быть изменено. Сведения о том, как отказаться от функции ограничения срока действия маркеров, см. в разделе Активация дополнительных функций для приложений. Дополнительные сведения см. в статье Ограничение срока действия маркеров доступа пользователей к серверу для приложений GitHub.

Сведения о маркерах доступа пользователей с истекающим сроком действия

Для принудительного обновления маркеров и уменьшения влияние скомпрометированных маркеров можно настроить GitHub App для использования маркеров доступа пользователей, имеющих срок действия. Дополнительные сведения о создании запросов "пользователь-сервер" см. в разделе Идентификация и авторизация пользователей для приложений GitHub.

Срок действия истекающих маркеров пользователя составляет 8 часов. При получении нового маркера доступа "пользователь-сервер" ответ также будет содержать маркер обновления, который можно обменять на новый маркер пользователя и маркер обновления. Маркеры обновления действительны в течение 6 месяцев.

Обновление маркера пользователя с помощью маркера обновления

Чтобы обновить маркера доступа "пользователь-сервер" с истекающим сроком действия, можно обменять refresh_token на новый маркер доступа и refresh_token.

POST https://github.com/login/oauth/access_token

Этот запрос обратного вызова отправит вам новый маркер доступа и новый маркер обновления. Этот запрос обратного вызова аналогичен запросу OAuth, который будет использоваться для обмена временным code для маркера доступа. Дополнительные сведения см. в разделах Идентификация и авторизация пользователей для приложений GitHub и Основы проверки подлинности.

Параметры

ИмяТипОписание
refresh_tokenstringОбязательный. Маркер, создаваемый, когда владелец GitHub App включает маркеры с истечением срока действия и выдает новый маркер доступа пользователя.
grant_typestringОбязательный. Значение должно быть refresh_token (требуется спецификацией OAuth).
client_idstringОбязательный. Идентификатор клиента для GitHub App.
client_secretstringОбязательный. Секрет клиента для GitHub App.

Ответ

{
  "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
  "expires_in": "28800",
  "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498",
  "refresh_token_expires_in": "15811200",
  "scope": "",
  "token_type": "bearer"
}

Настройка маркеров пользователя, имеющих срок действия, для существующего приложения GitHub

Можно включить или отключить срок действия маркеров авторизации "пользователь-сервер" в параметрах GitHub App.

  1. В правом верхнем углу любой страницы щелкните фотографию профиля, а затем выберите Параметры.

    Значок "Настройки" на панели пользователя

  2. На левой боковой панели щелкните Developer settings (Параметры разработчика). Параметры разработчика 1. На левой боковой панели щелкните Приложения GitHub. Раздел "Приложения GitHub"

  3. Щелкните Изменить рядом с выбранным GitHub App. Параметры для изменения приложения GitHub

  4. На левой боковой панели щелкните Дополнительные компоненты. Вкладка "Дополнительные функции"

  5. Рядом с пунктом «Срок действия маркера "пользователь-сервер"» щелкните Согласие или Отказ. Применение этого параметра может занять несколько секунд.

Отказ от истечения срока действия маркеров для новых приложений GitHub

При создании новыхGitHub App по умолчанию приложение будет использовать маркеры доступа "пользователь-сервер" с истекающим сроком действия.

Если нужно, чтобы приложение использовало маркеры доступа "пользователь-сервер" без истечения срока действия, можно снять флажок "Истекающий срок действия маркеров авторизации пользователя" на странице параметров приложения.

Параметр для согласия на истечение срока действия маркеров пользователей во время установки приложений GitHub

Существующие данные GitHub Apps, использующие маркеры авторизации "пользователь-сервер", затрагиваются этим новым потоком только, когда владелец приложения включает истечение срока действия маркеров пользователя для своего приложения.

Включение маркеров пользователей с истекающим сроком действия для существующих GitHub Apps требует отправки пользователей через поток OAuth для повторной выдачи новых маркеров пользователей, срок действия которых истекает через 8 часов, и отправки запроса с маркером обновления для получения нового маркера доступа и маркера обновления. Дополнительные сведения см. в разделе Идентификация и авторизация пользователей для приложений GitHub.

Дополнительные материалы