【发布时间】:2014-06-08 20:16:20
【问题描述】:
我正在使用 Devise 对用户进行身份验证,这就是 routes.rb 文件中的内容:
devise_for :users, :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret',
:confirmation => 'verification', :unlock => 'unlock', :registration => 'register',
:sign_up => 'signup' }
我为omniauth(LinkedIn)添加了一部分:
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" }
在视图中:
<% if user_signed_in? %>
Signed in as <%= current_user.email %>. Not you?
<%= link_to "Sign out", destroy_user_session_path,:method => :delete %>
<% else %>
<%= link_to "Sign up", new_user_registration_path %> or
<%= link_to "Sign in", new_user_session_path %>
<%= link_to "Sign in with Linkedin",user_omniauth_authorize_path(:linkedin) %>
<% end %>
还有错误:
No route matches {:controller=>"omniauth_callbacks", :action=>"passthru", :provider=>:linkedin, :format=>nil} missing required keys: [:provider]
我在这里错过了什么?
谢谢
【问题讨论】:
-
您使用的omniauth gem 的确切名称是什么?
-
gem 'omniauth'和gem 'omniauth-linkedin' -
您是否使用 twitter omniauth 更新了模型并设计了配置?这篇文章还不错sourcey.com/…
标签: ruby-on-rails ruby devise linkedin omniauth