【问题标题】:Incorrect routes for Devise + LinkedIn (OmniAuth)Devise + LinkedIn (OmniAuth) 的路线不正确
【发布时间】:2014-06-09 06:58:53
【问题描述】:

我正在尝试通过 LinkedIn 注册到当前的 Devise gem。这些是目前的路线:

devise_for :users, :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret',
                                    :confirmation => 'verification', :unlock => 'unlock', :registration => 'register',
                                    :sign_up => 'signup' }, :controllers => {:omniauth_callbacks => "omniauth_callbacks"}

还有观点:= link_to "Sign in with Linkedin",user_omniauth_authorize_path(:linkedin) 返回此错误:

No route matches {:controller=>"omniauth_callbacks", :action=>"passthru", :provider=>:linkedin, :format=>nil} missing required keys: [:provider]

我也尝试添加 provider 键,例如:= link_to "Sign in with Linkedin",user_omniauth_authorize_path(:provider => 'linkedin')

但后来我得到了:

No route matches {:controller=>"omniauth_callbacks", :action=>"passthru", :provider=>"linkedin"} missing required keys: [:provider]

此时我错过了什么?

非常感谢

【问题讨论】:

    标签: ruby-on-rails ruby devise linkedin omniauth


    【解决方案1】:

    devise.rb中添加一行

    config.omniauth :linkedin, 'APP_ID', 'APP_SECRET'
    

    Devise 将使用linkedin 自动添加登录链接。

    omniauth_callbacks_controller.rb 中添加一个方法为:-

    def linkedin
      #code for authorization using linkedin callback credentials
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-16
      • 2015-08-27
      • 1970-01-01
      • 2014-09-25
      • 2013-08-02
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多