Custom authentication strategy for devise

后端 未结 1 894
梦毁少年i
梦毁少年i 2020-11-27 17:54

I need to write a custom authentication strategy for https://github.com/plataformatec/devise but there doesn\'t seem to be any docs. How\'s it done?

相关标签:
1条回答
  • 2020-11-27 18:48

    I found this very helpful snippet in this thread on the devise google group

    initializers/some_initializer.rb:

    Warden::Strategies.add(:custom_strategy_name) do 
      def valid? 
        # code here to check whether to try and authenticate using this strategy; 
        return true/false 
      end 
    
      def authenticate! 
        # code here for doing authentication; 
        # if successful, call  
        success!(resource) # where resource is the whatever you've authenticated, e.g. user;
        # if fail, call 
        fail!(message) # where message is the failure message 
      end 
    end 
    

    add following to initializers/devise.rb

      config.warden do |manager| 
         manager.default_strategies.unshift :custom_strategy_name 
      end 
    
    0 讨论(0)
提交回复
热议问题