Sha256: 6052a7a0d56108972d3d1426201fc5f73dbbffba61fb606cba2fd2cfea84d632

Contents?: true

Size: 748 Bytes

Versions: 28

Compression:

Stored size: 748 Bytes

Contents

require 'devise/strategies/authenticatable'

module Devise
  module Strategies
    class SubdomainLogin < Authenticatable

      def subdomain
        request.subdomain
      end

      def valid?
        subdomain.present? && params["user"]
      end

      def authenticate!
        return fail!('Invalid email or password.') unless account = Mtdevise::Account.find_by(subdomain: subdomain)
        return fail!('Invalid email or password.') unless user = account.users.find_by(email: params["user"]["email"])
        return fail!('Invalid email or password.') unless user.valid_password?(params["user"]["password"])
        success! user
      end

    end
  end
end

Warden::Strategies.add(:subdomain_login, Devise::Strategies::SubdomainLogin)

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
mtdevise-16.1.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-16.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-15.2.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-15.1.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-15.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-14.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-13.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-12.0.1 config/initializers/devise/strategies/subdomain.rb
mtdevise-12.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-11.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-10.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-9.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-8.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-7.1.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-7.0.1 config/initializers/devise/strategies/subdomain.rb
mtdevise-7.0.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-6.2.0 config/initializers/devise/strategies/subdomain.rb
mtdevise-6.1.2 config/initializers/devise/strategies/subdomain.rb
mtdevise-6.1.1 config/initializers/devise/strategies/subdomain.rb
mtdevise-6.1.0 config/initializers/devise/strategies/subdomain.rb