Sha256: 5b6c28ae71cf605afcd7044c1051d4af65d2097bab459ae87f37a9f004c37777

Contents?: true

Size: 831 Bytes

Versions: 4

Compression:

Stored size: 831 Bytes

Contents

module ExvoAuth::Controllers::Rails
  def self.included(base)
    base.send :include, ExvoAuth::Controllers::Base
    base.send :include, InstanceMethods
    base.helper_method :current_user, :signed_in?, :sign_up_path, :sign_in_path
  end
    
  module InstanceMethods
    def authenticate_app_in_scope!(scope)
      authenticate_or_request_with_http_basic do |consumer_id, access_token|
        current_scopes = ExvoAuth::Autonomous::Provider.new(
          :consumer_id  => consumer_id, 
          :access_token => access_token
        ).scopes
        
        @current_consumer_id = consumer_id
        
        current_scopes.include?(scope) && request.ssl?
      end
    end

    protected
    
    def find_user_by_id(id)
      User.find(id)
    end

    def current_url
      request.url if request.get?
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
exvo-auth-0.7.9 lib/exvo_auth/controllers/rails.rb
exvo-auth-0.7.8 lib/exvo_auth/controllers/rails.rb
exvo-auth-0.7.7 lib/exvo_auth/controllers/rails.rb
exvo-auth-0.7.6 lib/exvo_auth/controllers/rails.rb