diff --git a/app/controllers/api/v1/base_controller.rb b/app/controllers/api/v1/base_controller.rb index e2d6674..b7007b6 100644 --- a/app/controllers/api/v1/base_controller.rb +++ b/app/controllers/api/v1/base_controller.rb @@ -1,26 +1,30 @@ module Api module V1 class BaseController < ApplicationController - before_filter :restrict_access + before_filter :verify_server respond_to :json skip_before_filter :verify_authenticity_token - - def current_resource_owner - User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token - end - private def authorize_client verify_client || render_unauthorized end + def verify_server + restrict_access || render_server_unauthorized + end + def restrict_access authenticate_or_request_with_http_token do |token, options| ApiKey.pluck(:access_token).include?(token) end end + def render_server_unauthorized + self.headers['WWW-Authenticate'] = 'Token realm="Application"' + render json: 'Invalid Authorization Token', status: 401 + end + def verify_client site_token = request.headers[:HTTP_X_SITETOKEN] site_id = request.headers[:HTTP_X_SITEID] diff --git a/app/models/user.rb b/app/models/user.rb index 0c05947..06d1b3e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -4,7 +4,7 @@ class User # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, - :recoverable, :rememberable, :trackable, :validatable, :registerable + :recoverable, :rememberable, :trackable, :validatable ## Database authenticatable field :email, :type => String, :default => ""