首页 > 解决方案 > OctoKit Ruby 身份验证

问题描述

我确信这是一个简单的错误,但我有兴趣编写一个程序来收集我所有 github 存储库的信息。虽然这对 Octokit 来说似乎很简单,但我遇到了与验证会话相关的问题。

client = Octokit::Client.new \
  :login    => 'MY_USER_NAME',
  :password => 'MY_PASSWORD'

puts client
user = client.user("MY_USER_NAME", :headers => { "PERSONAL_ACCESS_TOKEN_NAME" => "TOKEN" })

puts user

不幸的是,这会导致以下结果:

GET https://api.github.com/users/mccoleman75225: 401 - Must specify two-factor authentication OTP code. // See: https://developer.github.com/v3/auth#working-with-two-factor-authentication (Octokit::OneTimePasswordRequired)

有人如何验证他们的会话?

标签: rubyoctokit

解决方案


自 2022 年 1 月起,您可以在 GitHub 开发人员设置中创建 PAT(个人访问令牌),并使用它通过 Octokit 客户端进行连接,如下所示:

client = Octokit::Client.new(:access_token => "<Your Personal Access Token>")

user = client.user
user.login
# => "monacat"

这是有关如何创建 PAT的分步指南。在创建令牌时尝试选择正确的权限,否则您将返回 403 错误并显示一条解释缺失范围的消息。不过,您以后可以随时返回并编辑您的范围。

资料来源:


推荐阅读