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

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

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

Узнайте, как создать маркер доступа к установке для GitHub App.

Сведения об установке маркеров доступа

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

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

Необходимо обеспечить безопасность маркера доступа для установки. Дополнительные сведения см. в разделе Рекомендации по созданию Приложение GitHub.

Создание маркера доступа установки

  1. Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе Создание веб-токена JSON (JWT) для Приложение GitHub.

  2. Получите идентификатор установки, для которой требуется пройти проверку подлинности.

    Если вы отвечаете на событие веб-перехватчика, полезные данные веб-перехватчика будут содержать идентификатор установки.

    Вы также можете использовать REST API для поиска идентификатора для установки приложения. Например, можно получить идентификатор установки с конечными точками GET /users/{username}/installation, GET /repos/{owner}/{repo}/installation, GET /orgs/{org}/installationили GET /app/installations . Дополнительные сведения см. в разделе Приложения GitHub.

  3. Отправьте запрос REST API POST по адресу /app/installations/INSTALLATION_ID/access_tokens. Включите веб-токен JSON в Authorization заголовок запроса. Замените INSTALLATION_ID идентификатором установки, для которой требуется пройти проверку подлинности.

    Например, отправьте этот запрос curl. Замените INSTALLATION_ID идентификатором установки, а JWT — своим веб-токеном JSON:

    curl --request POST \
    --url "http(s)://HOSTNAME/api/v3/app/installations/INSTALLATION_ID/access_tokens" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer JWT"

    При необходимости можно использовать repositories параметры или repository_ids body, чтобы указать отдельные репозитории, к которым может получить доступ маркер доступа установки. Если вы не используете repositories или repository_ids для предоставления доступа к определенным репозиториям, маркер доступа к установке будет иметь доступ ко всем репозиториям, к которым была предоставлена установка. Маркер доступа установки не может быть предоставлен доступ к репозиториям, к которым установка не была предоставлена.

    При необходимости используйте permissions параметр body, чтобы указать разрешения, которые должен иметь маркер доступа установки. Если permissions параметр не указан, маркер доступа к установке будет иметь все разрешения, предоставленные приложению. Маркеру доступа установки не могут быть предоставлены разрешения, которые не были предоставлены приложению.

    Ответ будет включать маркер доступа к установке, время истечения срока действия маркера, разрешения, имеющиеся у маркера, и репозитории, к которым маркер может получить доступ. Срок действия маркера доступа для установки истекает через 1 час.

    Дополнительные сведения об этой конечной точке см. в разделе Приложения GitHub.

    Примечание. В большинстве случаев передать маркер с помощью Authorization: Bearer или Authorization: token. Однако при передаче веб-токена JSON (JWT) необходимо использовать Authorization: Bearer.