Невозможно аутентифицироваться как приложение 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
  })
}

Так близко!

Другие вопросы по тегам