Sha256: 6a10d0b3dfcaebb7b6791580d30cb5b523a7f7ebb11575d59a10327b3388ecd3
Contents?: true
Size: 1.04 KB
Versions: 26
Compression:
Stored size: 1.04 KB
Contents
module Challah class PasswordProvider def self.save(user) set(uid: user.username, token: user.password, user_id: user.id, authorization: user.class.authorization_model) end def self.set(options = {}) user_id = options.fetch(:user_id) uid = options.fetch(:uid, '') token = options.fetch(:token, '') auth_model = options.fetch(:authorization, ::Authorization) if token.to_s.blank? authorization = auth_model.get({ user_id: user_id, provider: :password }) if authorization token = authorization.token end else token = Challah::Encrypter.encrypt(token) end auth_model.set({ provider: :password, user_id: user_id, uid: uid, token: token }) end def self.valid?(record) password_validator = Challah.options[:password_validator] password_validator.new(force: true).validate(record) record.errors[:password].size.zero? end end end
Version data entries
26 entries across 26 versions & 1 rubygems