小编JSc*_*her的帖子

使用 @octokit 对 Github 应用程序进行身份验证

我用来@octokit/rest访问 github 并尝试使用该authenticate()函数进行身份验证。

const credentials = { type: 'oauth', key: process.env.GITHUB_ID, secret: process.env.GITHUB_SECRET }
octokit.authenticate(credentials)
Run Code Online (Sandbox Code Playgroud)

我从 github 应用程序的设置页面获取了凭据(OAuth 凭据,位于页面底部),并且我已检查它们在流程环境中是否设置正确。

https://www.npmjs.com/package/@octokit/rest#authentication说,身份验证是同步的,因为它只为以下请​​求设置凭据,所以我await在这里不使用。

这似乎有效,至少,它不会引发任何错误。

我创建检查运行的代码:

octokit.checks.create({...})
Run Code Online (Sandbox Code Playgroud)

但是当运行这段代码时,我收到错误

{ HttpError: {"message":"You must authenticate via a GitHub App.","documentation_url":"https://developer.github.com/v3/checks/runs/#create-a-check-run "}
  at response.text.then.message (/usr/app/node_modules/@octokit/rest/lib/request/request.js:72:19)
  at process._tickCallback (internal/process/next_tick.js:68:7)
Run Code Online (Sandbox Code Playgroud)

-- 如果我改为生成 JWT 令牌并进行身份验证,如下所示: constcredentials = { type: 'oauth', token: process.env.GITHUB_TOKEN }

与 JWT 一样 eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MzUxMTEwNzcsImV4cCI6MTUzNTExMTY3NywiaXNzIjoiSXYxLjAwNjhkZjdkYzRmNjNkMGIifQ.KHb1V3Fh6WKLAlcZkQPntVehvl1frp3rdBT9-lOTJRzAx8JxGyxpEUnOdwbNU3gmx_G1Fu3E3QEbcCWs0L743HkJ4B53JQpni1cQ1YZ25e0HH3OO6HW4WycaYbgGPcZRZCDe0vocwaxKjHq16uG7jsfVLC4lR94GVxJQhu-w9WX9BVxE3x_yqKdMhFYhKvez8oBpAXRZFQbKtw2rb8TXHV3-PKXTRCfO_fR_Omr7J3Mw26yHdnoRK1pA7BS5O1P0UAFmWshLted2UbE0S8SU0ZoUnZE0QA3wW-o4Q4-6oEGCK9UWLnnHAfn11Ow7rKulSUyCvZgKV8niGSL7R97nWg

我得到以下回复:

{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}

authentication node.js github-api octokit

4
推荐指数
1
解决办法
5127
查看次数

标签 统计

authentication ×1

github-api ×1

node.js ×1

octokit ×1