繁体   English   中英

设计omniauth-github oauth2错误“bad_verification_code”

[英]Devise omniauth-github oauth2 error “bad_verification_code”

我有一个Rails 3.1应用程序,配备devise 1.5.3omniauth 1.0.1omniauth-github 1.0.1

配置/初始化/ devise.rb

config.omniauth :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET']

配置/ routes.rb中

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } do
  get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end

密钥和密钥设置为Heroku变量,应用程序在Github上注册。 单击您发送给Github的链接,进行身份验证,然后使用代码和auth成功的所有信息发送回Github回调路由。

问题是它被users/omniiauth_callbacks控制器的失败方法所users/omniiauth_callbacks 我添加了一些put语句来查看env['omniauth']被送回的内容。

env['omniauth.auth']拥有来自Github的所有信息。

env['omniauth.error'].response是一个带有大量信息的OAuth2::Response ,重要的部分是:

@parsed={"error"=>"bad_verification_code"}, @error=#<OAuth2::Error: OAuth2::Error>

我想知道这篇文章是否仍然有效,因为Github现在有了新的v3 API

有可能只将我需要的代码放在回调控制器的失败方法中,但这有点肮脏和hackish。

任何建议将不胜感激。

我不确定这是否会有所帮助,但仅在昨天,当我尝试使用omniauth gem与github进行身份验证时,我有点得到同样的错误。

最后,我最终以github的方式将client_id,client_secret和redirect_uri发送到/github.com/oauth/authorize并在redirect_uri上获得了回调。

继承人的链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM