Sha256: 559d708b074bea3e63430b6bf6d8c954db0be8267b107eec8cba1a19c6c61d18
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
module Doorkeeper module Helpers module Filter module ClassMethods def doorkeeper_for(*args) doorkeeper_for = DoorkeeperForBuilder.create_doorkeeper_for(*args) before_filter doorkeeper_for.filter_options do return if doorkeeper_for.validate_token(doorkeeper_token) render_options = doorkeeper_unauthorized_render_options if render_options.nil? || render_options.empty? head :unauthorized else render_options[:status] = :unauthorized render_options[:layout] = false if render_options[:layout].nil? render render_options end end end end def self.included(base) base.extend ClassMethods base.send :private, :doorkeeper_token, :get_doorkeeper_token, :authorization_bearer_token, :doorkeeper_unauthorized_render_options end def doorkeeper_token @token ||= get_doorkeeper_token end def get_doorkeeper_token token = params[:access_token] || params[:bearer_token] || authorization_bearer_token if token AccessToken.find_by_token(token) end end def authorization_bearer_token header = request.env['HTTP_AUTHORIZATION'] header.gsub(/^Bearer /, '') if header && header.match(/^Bearer /) end def doorkeeper_unauthorized_render_options nil end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper-0.4.2 | lib/doorkeeper/helpers/filter.rb |
doorkeeper-0.4.1 | lib/doorkeeper/helpers/filter.rb |