5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-07-01 11:56:08 +00:00
panel/lib/sutty/login.rb

43 lines
968 B
Ruby

# 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