Сведения об установке маркеров доступа
Чтобы пройти проверку подлинности в качестве установки приложения, необходимо создать маркер доступа к установке. Дополнительные сведения о проверке подлинности в качестве установки приложения см. в разделе Проверка подлинности в качестве установки Приложение GitHub.
Примечание. Вместо создания маркера доступа к установке можно использовать пакеты SDK Octokit для GitHub для проверки подлинности в качестве приложения. Пакет SDK позаботится о создании маркера доступа к установке и повторно создаст маркер по истечении срока его действия. Дополнительные сведения о проверке подлинности в качестве установки приложения см. в разделе Проверка подлинности в качестве установки Приложение GitHub.
Необходимо обеспечить безопасность маркера доступа для установки. Дополнительные сведения см. в разделе Рекомендации по созданию Приложение GitHub.
Создание маркера доступа установки
-
Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе Создание веб-токена JSON (JWT) для Приложение GitHub.
-
Получите идентификатор установки, для которой требуется пройти проверку подлинности.
Если вы отвечаете на событие веб-перехватчика, полезные данные веб-перехватчика будут содержать идентификатор установки.
Вы также можете использовать REST API для поиска идентификатора для установки приложения. Например, можно получить идентификатор установки с конечными точками
GET /users/{username}/installation
,GET /repos/{owner}/{repo}/installation
,GET /orgs/{org}/installation
илиGET /app/installations
. Дополнительные сведения см. в разделе Приложения GitHub. -
Отправьте запрос REST API
POST
по адресу/app/installations/INSTALLATION_ID/access_tokens
. Включите веб-токен JSON вAuthorization
заголовок запроса. ЗаменитеINSTALLATION_ID
идентификатором установки, для которой требуется пройти проверку подлинности.Например, отправьте этот запрос curl. Замените
INSTALLATION_ID
идентификатором установки, аJWT
— своим веб-токеном JSON:curl --request POST \ --url "https://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
.