在我的 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"]})
但我收到一条消息,这里只允许基本身份验证。
我想问你,我在这里错过了什么?