devise 1.5.3
, omniauth 1.0.1
및 omniauth-github 1.0.1
이있는 레일 3.1 앱이 있습니다.Devise omniauth-github oauth2 오류 "bad_verification_code"
설정/초기화/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 콜백 경로로 되돌려 보냅니다.
문제는 그것이users/omniiauth_callbacks
제어기의 고장 방법에 의해 픽업지고 있다는 것이다.
put
문을 추가하여
env['omniauth']
이 (가) 다시 전송되는 것을 확인했습니다.
env['omniauth.auth']
그것이 가정되는 Github에서의 정보를 모두 가지고있다.
env['omniauth.error'].response
그러나되는 많은 정보와 OAuth2::Response
, 중요한 부분입니다 : Github에서 지금 자신의 new v3 API이 있기 때문에이 게시물이 여전히 유효한지 궁금하고
@parsed={"error"=>"bad_verification_code"}, @error=#<OAuth2::Error: OAuth2::Error>
.
단지 내가 콜백 컨트롤러의 고장 방법에 필요한 코드를 삽입 할 수있을 것이다 그러나 그것은 종류의 더럽고 hackish 느낀다.
모든 의견을 많이 주시면 감사하겠습니다. 내가 omniauth 보석을 사용하여 github에 인증을 시도 할 때 나는이 도움이 될 경우 정말 확실하지만, 어제 아니다
감사합니다! 따라서 콜백 단계를 https://github.com/login/oauth/access_token 대신 oauth 권한 부여 URL로 다시 리디렉션 하시겠습니까? – LupineDev
당신이 언급 한 URL에 요청을 보낸 다음 언급 된 URI에 콜백을받습니다. 이것은 다시 선택 사항입니다. – ktkaushik