Невозможно аутентифицироваться как приложение Github с Octokit / rest - PullRequest
0 голосов
/ 05 августа 2020

Я не могу пройти аутентификацию в качестве приложения с помощью 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 Ответ

1 голос
/ 05 августа 2020

Я решил это!

Я не передавал боту правильную информацию. Рабочая функция выглядит так.

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
  })
}

Итак, близко!

...