module Dispatch::Auth
Constants
- VERSION
Public Class Methods
authenticate_request!(env)
click to toggle source
# File lib/dispatch/auth.rb, line 9 def authenticate_request!(env) prepare_headers(env) resolve_errors get(ENV['AUTH_ENDPOINT_URL']) end
get_me(env)
click to toggle source
# File lib/dispatch/auth.rb, line 14 def get_me(env) prepare_headers(env) resolve_errors get(ENV['AUTH_ENDPOINT_URL']) end
Private Class Methods
get_auth_header(env)
click to toggle source
# File lib/dispatch/auth.rb, line 20 def get_auth_header(env) r = Rack::Request.new(env) header = r.env['HTTP_AUTHORIZATION'] token = r.params['access_token'] || r.params['bearer_token'] header ||= "Bearer #{token}" if token raise(Dispatch::Auth::TokenMissingError) unless header header end
prepare_headers(env)
click to toggle source
# File lib/dispatch/auth.rb, line 29 def prepare_headers(env) headers.merge!('Content-Type' => 'application/json') headers.merge!('Authorization' => get_auth_header(env)) || raise(Dispatch::Auth::TokenMissingError) end
resolve_errors(response)
click to toggle source
# File lib/dispatch/auth.rb, line 34 def resolve_errors(response) case response.code when 401 raise Dispatch::Auth::NotAuthenticatedError when 403 raise Dispatch::Auth::NotAuthorizedError end response end