Sha256: e4b477a29e45e4fd6202d0a8d88f90cc8ebbad91115f7fd093cc62b194b5fb45

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

module Doorkeeper
  class ApplicationController < ActionController::Base
    private

    def parse_client_info_from_basic_auth
      auth_header = request.env['HTTP_AUTHORIZATION']
      return unless auth_header && auth_header =~ /^Basic (.*)/m
      client_info = Base64.decode64($1).split(/:/, 2)
      client_id = client_info[0]
      client_secret = client_info[1]
      return if client_id.nil? || client_secret.nil?
      params[:client_id] = client_id
      params[:client_secret] = client_secret
    end

    def authenticate_resource_owner!
      current_resource_owner
    end

    def current_resource_owner
      instance_exec(main_app, &Doorkeeper.configuration.authenticate_resource_owner)
    end

    def authenticate_admin!
      if block = Doorkeeper.configuration.authenticate_admin
        instance_exec(main_app, &block)
      end
    end

    def method_missing(method, *args, &block)
      if method =~ /_(url|path)$/
        raise "Your path has not been found. Didn't you mean to call routes.#{method} in doorkeeper configuration blocks?"
      else
        super
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
doorkeeper-0.3.4 app/controllers/doorkeeper/application_controller.rb
doorkeeper-0.3.3 app/controllers/doorkeeper/application_controller.rb
doorkeeper-0.3.2 app/controllers/doorkeeper/application_controller.rb
doorkeeper-0.3.1 app/controllers/doorkeeper/application_controller.rb
doorkeeper-0.3.0 app/controllers/doorkeeper/application_controller.rb