问题描述
编辑:尽管试图使其工作5个小时以上,但我只是发现实际上不赞成我在下面描述的方法。落入我陷阱的任何人都应该改用访问令牌(https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token),然后再使用(https://octokit.github.io/rest.js/v18#authentication)
在使用带有节点js的octokit rest软件包来验证github用户时,该指南似乎非常简单
const { Octokit } = require('@octokit/rest');
const octokit = new Octokit({
auth: {
username: this_username,password: this_password,on2fa () {
return prompt('Enter code')
}
}
});
但是,当我在节点js中运行它(将this_username和this_password设置为我的github用户名和密码)时,出现以下错误:
Uncaught Error: [@octokit/auth-token] Token passed to createtokenAuth is not a string
at Object.createtokenAuth (D:\github\sos\collector-dev\web\node_modules\@octokit\auth-token\dist-node\index.js:39:11)
at new Octokit (D:\github\sos\collector-dev\web\node_modules\@octokit\core\dist-node\index.js:115:32)
at new _a (D:\github\sos\collector-dev\web\node_modules\@octokit\core\dist-node\index.js:167:30)
at new OctokitWithDefaults (D:\github\sos\collector-dev\web\node_modules\@octokit\core\dist-node\index.js:147:9)
有趣的是,当我故意输入错误的密码时,我会收到相同的错误消息。
关于我错过的任何步骤的任何想法吗?还是我误解了octokit要求的用户名和密码?
解决方法
如前所述,
是一种已弃用的方法,不建议使用它。尽管如此,我仍在https://github.com/octokit/rest.js/discussions/1881#discussioncomment-81110上找到了有关如何使其工作的讨论(直到Github决定绝对关闭):
const octokit = new Octokit({
authStrategy: createBasicAuth,auth: {
username: this_username,password: this_password
}
});