class OAuth::Controllers::ApplicationControllerMethods::Authenticator

Attributes

controller[RW]
strategies[RW]
strategy[RW]

Public Class Methods

new(controller,strategies) click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 38
def initialize(controller,strategies)
  @controller = controller
  @strategies = strategies
end

Public Instance Methods

allow?() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 43
def allow?
  if @strategies.include?(:interactive) && interactive
    true
  elsif !(@strategies & env["oauth.strategies"].to_a).empty?
    if token.present?
      @controller.send :current_user=, token.user
      true
    else
      false
    end
  else
    if @strategies.include?(:interactive)
      controller.send :access_denied
    else
      controller.send :invalid_oauth_response
    end
  end
end
client_application() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 82
def client_application
  env["oauth.version"]==1 && env["oauth.client_application"] || oauth20_token.try(:client_application)
end
env() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 94
def env
  request.env
end
interactive() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 90
def interactive
  @controller.send :logged_in?
end
oauth10_access_token() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 74
def oauth10_access_token
  oauth10_token && oauth10_token.is_a?(::AccessToken) ? oauth10_token : nil
end
oauth10_request_token() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 70
def oauth10_request_token
  oauth10_token && oauth10_token.is_a?(::RequestToken) ? oauth10_token : nil
end
oauth10_token() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 66
def oauth10_token
  env["oauth.version"]==1 && env["oauth.token"]
end
oauth20_token() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 62
def oauth20_token
   env["oauth.version"]==2 && env["oauth.token"]
end
request() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 98
def request
  controller.send :request
end
token() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 78
def token
  oauth20_token || oauth10_access_token || nil
end
two_legged() click to toggle source
# File lib/oauth/controllers/application_controller_methods.rb, line 86
def two_legged
   env["oauth.version"]==1 && client_application
end