module Card::Auth
Singleton methods for account authentication and contextualization.
Manages current user, “as” user, and password verification.
Public Class Methods
Source
# File lib/card/auth.rb, line 19 def authenticate email, password account = Auth.find_account_by_email email return nil unless account&.active? account if not_required? || password_valid?(account, password.strip) end
authenticate a user by their login name and unencrypted password. @param email [String] @param password [String] @return [+*account card, nil]
Source
# File lib/card/auth.rb, line 35 def encrypt password, salt Digest::SHA1.hexdigest "#{salt}--#{password}--" end
encrypt password string with the given salt. @return [SHA1 String]
Source
# File lib/card/auth.rb, line 43 def not_required? Card.config.no_authentication end
Source
# File lib/card/auth.rb, line 29 def password_valid? account, password account.password == encrypt(password, account.salt) end
check whether password is correct for account card @param account [+*account card] @param password [String]
Source
# File lib/card/auth.rb, line 39 def serialize { as_id: as_id, current_id: current_id } end