Sha256: ccaa06a94774c4a36f5418a803649e08ea51d7a692359eda9cf87cf306fbd49e
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# Before logout hook to forget the user in the given scope, if it responds # to forget_me! Also clear remember token to ensure the user won't be # remembered again. Notice that we forget the user unless the record is frozen. # This avoids forgetting deleted users. Warden::Manager.before_logout do |record, warden, scope| if record.respond_to?(:forget_me!) record.forget_me! unless record.frozen? warden.cookies.delete "remember_#{scope}_token" end end module Devise module Hooks # Overwrite success! in authentication strategies allowing users to be remembered. # We choose to implement this as an strategy hook instead of a Devise hook to avoid users # giving a remember_me access in strategies that should not create remember me tokens. module Rememberable #:nodoc: def success!(resource) super if succeeded? && resource.respond_to?(:remember_me!) && remember_me? resource.remember_me! cookies.signed["remember_#{scope}_token"] = { :value => resource.class.serialize_into_cookie(resource), :expires => resource.remember_expires_at, :path => "/" } end end protected def remember_me? valid_params? && Devise::TRUE_VALUES.include?(params_auth_hash[:remember_me]) end end end end Devise::Strategies::Authenticatable.send :include, Devise::Hooks::Rememberable
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
devise-1.1.rc0 | lib/devise/hooks/rememberable.rb |