[英]Devise omniauth-github oauth2 error “bad_verification_code”
我有一个Rails 3.1应用程序,配备devise 1.5.3
, omniauth 1.0.1
和omniauth-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.