Sha256: b822bdb863a5d4358fc5eca099e73cb1e84b3cd9dcf8caaec26b674e396694a0

Contents?: true

Size: 639 Bytes

Versions: 2

Compression:

Stored size: 639 Bytes

Contents

require_relative 'token_validator'

module EasyTokens
  module Authorization
    extend ActiveSupport::Concern

    module ClassMethods
      def check_token_on(*action_names)
        before_filter :validate_token, only: action_names
      end
    end

    def validate_token
      if params[:token].present?
        return if TokenValidator.valid?(params[:token])
        token_invalid and return
      else
        token_required
      end
    end

    def token_required
      render text: 'Token required', status: :bad_request
    end

    def token_invalid
      render text: 'Token is invalid', status: :forbidden
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
easy_tokens-0.4.0 lib/easy_tokens/authorization.rb
easy_tokens-0.3.0 lib/easy_tokens/authorization.rb