Put authentication on api
This commit is contained in:
parent
c3bf2b74cc
commit
d948071e49
2 changed files with 11 additions and 3 deletions
|
@ -1,12 +1,16 @@
|
||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
# Prevent CSRF attacks by raising an exception.
|
# Prevent CSRF attacks by raising an exception.
|
||||||
# For APIs, you may want to use :null_session instead.
|
# For APIs, you may want to use :null_session instead.
|
||||||
protect_from_forgery with: :null_session
|
protect_from_forgery with: :exception
|
||||||
|
|
||||||
rescue_from CanCan::AccessDenied do |exception|
|
rescue_from CanCan::AccessDenied do |exception|
|
||||||
redirect_to root_url, alert: exception.message
|
redirect_to root_url, alert: exception.message
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def authenticate_user_or_client!
|
||||||
|
current_user || current_client || raise(Exception.new)
|
||||||
|
end
|
||||||
|
|
||||||
def current_client
|
def current_client
|
||||||
@current_client ||= identify_client
|
@current_client ||= identify_client
|
||||||
end
|
end
|
||||||
|
@ -15,7 +19,7 @@ class ApplicationController < ActionController::Base
|
||||||
if current_user
|
if current_user
|
||||||
@current_ability ||= Ability.new(current_user)
|
@current_ability ||= Ability.new(current_user)
|
||||||
elsif current_client
|
elsif current_client
|
||||||
@current_ability ||= ClientAbility.new(current_account)
|
@current_ability ||= ClientAbility.new(current_client)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -25,5 +29,4 @@ class ApplicationController < ActionController::Base
|
||||||
key = request.headers["X-API-KEY"]
|
key = request.headers["X-API-KEY"]
|
||||||
Client.find_by key: key if key
|
Client.find_by key: key if key
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
class TransactionsController < ApplicationController
|
class TransactionsController < ApplicationController
|
||||||
|
skip_before_filter :verify_authenticity_token, only: :create
|
||||||
|
|
||||||
|
before_action :authenticate_user!, except: :create
|
||||||
|
before_action :authenticate_user_or_client!, only: :create
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@transactions = Transaction.all
|
@transactions = Transaction.all
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue