5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-07-05 23:15:45 +00:00
panel/lib/sutty/login.rb

35 lines
841 B
Ruby
Raw Normal View History

2017-09-25 22:35:06 +00:00
# frozen_string_literal: true
require 'net/imap'
require 'rack-flash'
require 'sinatra/base'
require 'sinatra_warden'
require_relative '../warden/imap'
require_relative 'models/usuaria'
module Sutty
# Login
class Login < Sinatra::Base
use Rack::Flash
register Sinatra::Warden
enable :sessions
enable :logging
enable :auth_use_referrer
# 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
set :root, File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
end
end