Невозможно аутентифицироваться как приложение Github с Octokit / rest
Я не могу пройти аутентификацию как приложение, используя Octokit/ rest, и документация, как мне не удалось...
Вот моя процедура аутентификации:
async function getGithub({payload}) {
const auth = createAppAuth({
id: parseInt(process.env.APP_ID, 10),
privateKey: getPrivateKey()
})
const installationAuth = await auth({
type: 'installation',
installationId: payload.installation.id,
})
return new Octokit(installationAuth)
}
Может ли кто-нибудь указать мне правильное направление?
Когда я делаю запрос с клиентом, я просто получаю 404. Я знаю, что репо существует, и в документации Github указано, что несанкционированные запросы могут привести к 404, если у клиента нет доступа.
1 ответ
Я решил это!
Я передавал боту неверную информацию. Рабочая функция выглядит так.
async getGithub(context) {
const auth = createAppAuth({
id: parseInt(process.env.APP_ID, 10),
privateKey: getPrivateKey()
})
const installationAuth = await auth({
type: 'installation',
installationId: context.payload.installation.id,
})
return new Octokit({
auth: installationAuth.token // directly pass the token
})
}
Так близко!