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

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

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

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

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

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

Чтобы обеспечить обычную смену маркеров и уменьшить влияние скомпрометированного маркера, можно настроить GitHub App для использования маркеров доступа пользователей, срок действия которого истекает. Если приложение использует маркеры доступа пользователей, срок действия которого истекает, при создании маркера доступа пользователя вы получите маркер обновления. Срок действия маркера доступа пользователя истекает через восемь часов, а маркер обновления — через шесть месяцев. Дополнительные сведения см. в разделе Создание маркера доступа пользователя для Приложение GitHub.

Маркер обновления можно использовать для создания нового маркера доступа пользователя и нового маркера обновления. После использования маркера обновления этот маркер обновления и старый маркер доступа пользователя больше не будут работать.

Если срок действия маркера обновления истекает до его использования, вы можете повторно создать маркер доступа пользователя и маркер обновления, отправив пользователей через поток веб-приложения или поток устройства. Дополнительные сведения см. в разделе Создание маркера доступа пользователя для Приложение GitHub.

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

При создании приложения срок действия маркеров доступа пользователей включается, если вы не откажетесь. Дополнительные сведения см. в разделе Registering a GitHub App. Этот параметр также можно настроить после создания приложения.

  1. Перейдите к настройкам учетной записи.

    • Для приложения GitHub App, принадлежащего учетной записи пользователя, нажмите на фото своего профиля в правом верхнем углу любой страницы и выберите Настройки. Снимок экрана: раскрывающееся меню "ПрофильGitHub в GitHub.com. Параметр с меткой "Параметры" выделен темно-оранжевым цветом.

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

      Снимок экрана: раскрывающееся меню под @octocatизображением профиля. "Ваши организации" выделены темно-оранжевым цветом.

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

  3. Рядом с GitHub App, который вы хотите изменить, нажмите кнопку Изменить.

  4. На боковой панели параметров GitHub Apps щелкните Дополнительные компоненты.

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

    GitHub рекомендует принять эту функцию для повышения безопасности.

Если вы согласитесь использовать маркеры доступа пользователей, срок действия которых истекает после того, как вы уже создали маркеры доступа пользователей, срок действия ранее созданных маркеров доступа пользователей не истечет. Эти маркеры можно удалить с помощью конечной DELETE /applications/CLIENT_ID/token точки. Дополнительные сведения см. в разделе Авторизации OAuth.

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

  1. POST Отправьте запрос к этому URL-адресу вместе со следующими параметрами запроса:http(s)://HOSTNAME/login/oauth/access_token

    Параметр запросаТипОписание
    client_idstringОбязательный. Идентификатор клиента для GitHub App. Идентификатор клиента отличается от идентификатора приложения. Идентификатор клиента можно найти на странице параметров приложения.

    Для приложений, принадлежащих пользователю, страница параметров имеет значение https://github.com/settings/apps/APP-SLUG.

    Для приложений, принадлежащих организации, страница параметров имеет значение https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG.

    Замените APP-SLUG на slugified имя приложения и ORGANIZATION на slugified имя вашей организации. Например, https://github.com/organizations/octo-org/settings/apps/octo-app.
    client_secretstringОбязательный. Секрет клиента для GitHub App. Секрет клиента можно создать на странице параметров приложения.
    grant_typestringОбязательный. Значение должно быть "refresh_token".
    refresh_tokenstringОбязательный. Маркер обновления, полученный при создании маркера доступа пользователя.
  2. GitHub даст ответ со следующими параметрами:

    Параметр ответаТипОписание
    access_tokenstringМаркер доступа пользователя. Маркер начинается с ghu_.
    expires_inintegerКоличество секунд до access_token истечения срока действия. Если вы отключили срок действия маркеров доступа пользователей, этот параметр будет опущен. Значение всегда будет иметь значение 28800 (8 часов).
    refresh_tokenstringМаркер обновления. Если вы отключили срок действия маркеров доступа пользователей, этот параметр будет опущен. Маркер начинается с ghr_.
    refresh_token_expires_inintegerКоличество секунд до refresh_token истечения срока действия. Если вы отключили срок действия маркеров доступа пользователей, этот параметр будет опущен. Значение всегда будет иметь значение 15811200 (6 месяцев).
    scopestringОбласти, имеющиеся у маркера. Это значение всегда будет пустой строкой. В отличие от традиционного маркера OAuth, маркер доступа пользователя ограничен разрешениями, которые есть как у приложения, так и у пользователя.
    token_typestringТип маркера. Значение всегда будет иметь значение bearer.