# frozen_string_literal: true require 'net/imap' require 'rack-flash' require 'sinatra/base' require 'sinatra_warden' require_relative '../sutty' require_relative '../warden/imap' require_relative 'models/usuaria' module Sutty # Login class Login < Sinatra::Base set :root, Sutty.root use Rack::Flash register Sinatra::Warden enable :sessions enable :logging enable :auth_use_referrer set :auth_error_message, 'Hubo un error al ingresar' set :auth_success_message, '¡Bienvenida!' # Configura Warden para usar la estrategia IMAP y obtener la cuenta # de usuaria a partir de la cookie. use Warden::Manager do |config| config.default_scope = :user config.scope_defaults :user, strategies: [:imap] config.serialize_into_session(&:username) config.serialize_from_session { |u| Usuaria.find(u) } config.failure_app = self end before do @has_cover = true end end end