2012-04-09 76 views
2

我使用omiauth与ROR和我碰到下面的错误,omniauth认证/失败消息= invalid_credentials

omniauth AUTH /失败消息= invalid_credentials,

我能与LinkedIn连接,有人问我:为所有页面重定向发生后,我得到上述错误的用户凭据。

这里是我的回调:

class SessionsController < ApplicationController 
     def create 
      auth = request.env["omniauth.auth"] 
      user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth) 
      session[:user_id] = user.id 
      redirect_to root_url, :notice => "Signed in!" 
     end 

     def destroy 
      session[:user_id] = nil 
      redirect_to root_url, :notice => "Signed out!" 
     end 
end 

和routes.rb中是

Lovelinkedin::Application.routes.draw do 
    root :to => "users#index" 

    match "/auth/:provider/callback" => "sessions#create" 
    match "/auth/failure" => "users#index" 
    match "/signout" => "sessions#destroy", :as => :signout 

end 

和我omniauth.rb是

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :linkedin, 'xxxxx', 'ffffffff' 
end 

请帮助我。

在此先感谢

+0

刚刚起飞的I是一个新的人ROR这也是我无法解决它的原因之一也是有帮助的,如果你们中的一些人可以帮助我“如何从ROR请求和响应中获取值” – SAR 2012-04-09 12:25:59

+0

您正在使用哪个版本的omniauth? 1.0版本在事情发生的方式上做了一些巨大的改变。另外,如果您使用的是旧版本,我会建议升级。 – Gazler 2012-04-09 12:58:51

+0

发布您的omniauth配置文件。从我记得的地方来看,这是证明证书的地方。 – 2012-04-09 13:05:23

回答

0

你是什么OmniAuth.config.full_host等于你omniauth.rb文件?

如果重定向到一个安全的网站,那么就应该是这样的: “https://开头#{} SITE_BASE”

否则,如果它不是一个安全的网站