Where is devise implementation of authenticate_user!
method?
I have been looking for it and have not found it so far.
This allows all users to access the index route, but only authenticated users could access other routes in the comments controller. Note that :authenticate_user! is a method provided by Devise, so if you're using Bcrypt, you'll have to create your own custom method.
Below one is for Rails 5 -> app/views/users/CONTROLLER/... when you do this so that your new controller can find them.
Warden is a gem that takes care of fetching authentication details from the request and fetching the user. Devise requires Warden to be added as a middleware.
It's in lib/devise/controllers/helpers.rb
1 and is generated dynamically (user being only one of the possible suffixes):
def self.define_helpers(mapping) #:nodoc: mapping = mapping.name class_eval <<-METHODS, __FILE__, __LINE__ + 1 def authenticate_#{mapping}!(opts={}) opts[:scope] = :#{mapping} warden.authenticate!(opts) if !devise_controller? || opts.delete(:force) end def #{mapping}_signed_in? !!current_#{mapping} end def current_#{mapping} @current_#{mapping} ||= warden.authenticate(:scope => :#{mapping}) end def #{mapping}_session current_#{mapping} && warden.session(:#{mapping}) end METHODS ActiveSupport.on_load(:action_controller) do helper_method "current_#{mapping}", "#{mapping}_signed_in?", "#{mapping}_session" end end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With