Sha256: f74bceff3c7efa86f8b2f2fa24f3d1eedb8417835ceceea008f545d948c81696

Contents?: true

Size: 872 Bytes

Versions: 7

Compression:

Stored size: 872 Bytes

Contents

module ExvoAuth::Controllers::Merb
  def self.included(base)
    base.send :include, ExvoAuth::Controllers::Base
    base.send :include, InstanceMethods
  end
  
  module InstanceMethods
    def authenticate_user!
      super
      throw :halt unless signed_in?
    end

    def authenticate_app_in_scope!(scope)    
      basic_authentication 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 redirect_to(*args)
      redirect(*args)
    end
    
    def find_user_by_id(id)
      User[id]
    end

    def current_url
      request.full_uri if request.method == :get
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
exvo-auth-0.7.8 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.7 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.6 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.5 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.4 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.3 lib/exvo_auth/controllers/merb.rb
exvo-auth-0.7.2 lib/exvo_auth/controllers/merb.rb