Sha256: 83ac4b006974736598e6bd802f8df62f2557fba02a60a87ba4d26a059ebb5061
Contents?: true
Size: 954 Bytes
Versions: 2
Compression:
Stored size: 954 Bytes
Contents
module Janus module Strategies extend ActiveSupport::Concern # Runs authentication strategies to log a user in. def run_strategies(scope) Janus::Manager.strategies.each { |name| break if run_strategy(name, scope) } end # Runs a given strategy and returns true if it succeeded. def run_strategy(name, scope) strategy = "Janus::Strategies::#{name.to_s.camelize}".constantize.new(scope, self) if strategy.valid? strategy.authenticate! if strategy.success? send(strategy.auth_method, strategy.user, :scope => scope) Janus::Manager.run_callbacks(:authenticate, strategy.user, self, :scope => scope) end end strategy.success? end module ClassMethods # Returns the list of strategies as underscore symbols. def strategies @strategies ||= [:rememberable, :remote_authenticatable] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
janus-0.6.0 | lib/janus/strategies.rb |
janus-0.5.0 | lib/janus/strategies.rb |