module Secretkeeper::Rails::Helpers

Public Instance Methods

secretkeeper_authorize!() click to toggle source
# File lib/secretkeeper/rails/helpers.rb, line 8
def secretkeeper_authorize!
  return secretkeeper_render_error unless secretkeeper_token_acceptable?

  @resource_owner = secretkeeper_access_token.owner
end

Private Instance Methods

secretkeeper_access_token() click to toggle source
# File lib/secretkeeper/rails/helpers.rb, line 26
def secretkeeper_access_token
  @secretkeeper_access_token ||= Secretkeeper::AccessToken.find_by(
    token: request.headers['Authorization'][7..-1]
  )
end
secretkeeper_auth_header_valid?() click to toggle source
# File lib/secretkeeper/rails/helpers.rb, line 21
def secretkeeper_auth_header_valid?
  request.headers['Authorization']&.start_with?('Bearer ') &&
    secretkeeper_access_token&.accessible?
end
secretkeeper_render_error() click to toggle source
# File lib/secretkeeper/rails/helpers.rb, line 32
def secretkeeper_render_error
  head 401
end
secretkeeper_token_acceptable?() click to toggle source
# File lib/secretkeeper/rails/helpers.rb, line 16
def secretkeeper_token_acceptable?
  secretkeeper_auth_header_valid? &&
    secretkeeper_access_token.owner.present?
end