【发布时间】:2018-04-11 13:44:55
【问题描述】:
在我的 Rails 应用程序中,我想列出用户的组织及其存储库。我正在使用 omniauth-github 向 Github 进行身份验证,所以一旦我从 Github 获得令牌,我就会这样做:
client = Octokit::Client.new(:access_token => token)
client.orgs
在omniauth.rb中
provider :github, ENV['GITHUB_CLIENT_ID'], ENV['GITHUB_CLIENT_SECRET']
它抛出一个错误
GET https://api.github.com/user/orgs: 403 - You need at least read:org scope or user scope to list your organizations. // See: https://developer.github.com/v3/orgs/#list-your-organizations
所以我将它添加到初始化程序并重新启动服务器:
provider :github, ENV['GITHUB_CLIENT_ID'], ENV['GITHUB_CLIENT_SECRET'], scope: 'read:org'
但我得到了同样的错误。
我也尝试在 Octokit 客户端中提供范围:
client.create_authorization({:idempotent => true, :client_id => 'xxxx', :client_secret => 'yyyy', :scopes => ["read:org"]})
但我收到一条消息,这里只允许基本身份验证。
我想问你,我在这里错过了什么?
【问题讨论】:
-
您确定您已对您的应用使用的 OAuth 令牌设置了正确的读取权限吗? (github.com/settings/developers)
-
我已将所有内容设置为只读,因此我应该可以访问它,但我收到 403 错误消息。还有其他想法吗?
标签: ruby-on-rails github octokit