设计允许在单个控制器操作上进行令牌认证

fer*_*dyh 4 ruby ruby-on-rails devise

我有一个web应用程序,它对所有控制器使用设计数据库身份验证,但是我希望有一个控制器操作,其中使用令牌进行身份验证.我能用这个设计吗?

Vik*_*rón 5

设计策略有一个valid?方法被调用来确定是否应该启用策略.这允许您基于每个控制器/操作控制可用的身份验证策略.

把它放在初始化器中:

require 'devise/strategies/base'
require 'devise/strategies/token_authenticatable'
module Devise
  module Strategies
    class TokenAuthenticatable < Authenticatable
      def valid?
        super && params[:controller] == "your controller" && params[:action] == "your action"
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

让我知道它是否有效.