无法通过 Octokit/rest 验证为 Github 应用程序

Unable to Authenticate as Github App with 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 .

我解决了!

我没有将正确的信息传递给机器人。工作函数如下所示。

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

太近了!