OmniAuth before_filter要求登录

Mar*_*rov 6 ruby-on-rails omniauth

是否可以使用OmniAuth在某些操作之前要求登录?

我记得有一个轨道广播说Devise有一个before_filter,但是OmniAuth呢?

Zab*_*bba 10

你可以添加一个before_filter:

class ApplicationController < ActionController::Base

  before_filter :authenticate

  def authenticate
    redirect_to :login unless User.find_by_provider_and_uid(auth["provider"], auth["uid"])
  end
...
end
Run Code Online (Sandbox Code Playgroud)

假设:1.您已经定义了一个包含以下链接的登录页面: <%= link_to "Sign in with Facebook", "/auth/facebook" %>

另请参阅标记有身份验证的RailsCasts