module Grape::Tokeeo
Constants
- DEFAULT_HEADER
- DEFAULT_INVALID_MESSAGE
- DEFAULT_MISSING_MESSAGE
- VERSION
Public Class Methods
build_model_token_security(options, api_instance)
click to toggle source
# File lib/grape/tokeeo.rb, line 98 def build_model_token_security(options, api_instance) define_before_for(api_instance, options) do |token| Grape::Tokeeo.found_in_model?(options, token) end end
define_before_for(api_instance, options) { |token| ... }
click to toggle source
# File lib/grape/tokeeo.rb, line 62 def define_before_for(api_instance, options, &block) api_instance.before do token = Grape::Tokeeo.header_token(options, request) error!( Grape::Tokeeo.message_for_missing_token(options), 401) unless token.present? error!( Grape::Tokeeo.message_for_invalid_token(options), 401) unless yield(token) end end
found_in_model?(options, token)
click to toggle source
# File lib/grape/tokeeo.rb, line 90 def found_in_model? (options, token) clazz = options[:in] field = options[:field] raise Error("#{clazz} does not use any of the orm library supported") unless Grape::Tokeeo.use_supported_orm?(clazz) clazz.to_adapter.find_first("#{field.to_s}" => token) end
header_for( key, request )
click to toggle source
# File lib/grape/tokeeo.rb, line 52 def header_for( key, request ) token = request.headers[key] token ||= request.env[key] end
header_to_verify( options={} )
click to toggle source
# File lib/grape/tokeeo.rb, line 47 def header_to_verify( options={} ) header_to_use = options[:header] header_to_use ||= DEFAULT_HEADER end
header_token( options, request )
click to toggle source
# File lib/grape/tokeeo.rb, line 57 def header_token( options, request ) header_key = Grape::Tokeeo.header_to_verify(options) token = Grape::Tokeeo.header_for( header_key, request ) end
message_for_invalid_token( options={} )
click to toggle source
# File lib/grape/tokeeo.rb, line 37 def message_for_invalid_token( options={} ) invalid_message_to_use = options[:invalid_message] invalid_message_to_use ||= DEFAULT_INVALID_MESSAGE end
message_for_missing_token( options= {})
click to toggle source
# File lib/grape/tokeeo.rb, line 42 def message_for_missing_token( options= {}) missing_message_to_use = options[:missing_message] missing_message_to_use ||= DEFAULT_MISSING_MESSAGE end
use_supported_orm?(clazz)
click to toggle source
# File lib/grape/tokeeo.rb, line 81 def use_supported_orm? (clazz) supported = clazz < ActiveRecord::Base if defined?(ActiveRecord::Base) supported ||= clazz < DataMapper::Resource if defined?(DataMapper::Resource) supported ||= clazz < MongoMapper::Document if defined?(MongoMapper::Document) supported ||= clazz < MongoMapper::EmbeddedDocument if defined?(MongoMapper::EmbeddedDocument) supported ||= clazz < Mongoid::Document if defined?(Mongoid::Document) supported end
verification_passed?( options, token)
click to toggle source
# File lib/grape/tokeeo.rb, line 70 def verification_passed?( options, token) preshared_token = options[:is] preshared_token.is_a?(Array) ? preshared_token.include?(token) : token == preshared_token end