demarches-normaliennes/app/controllers/api_controller.rb

36 lines
816 B
Ruby
Raw Normal View History

2015-12-21 17:51:49 +01:00
class APIController < ApplicationController
2018-03-16 10:10:43 +01:00
before_action :default_format_json
2018-03-08 17:41:54 +01:00
2015-12-21 17:51:49 +01:00
protected
2019-03-06 15:21:25 +01:00
def find_administrateur_for_token(procedure)
2022-11-30 10:13:55 +01:00
api_token = APIToken.find_and_verify(authorization_bearer_token, procedure.administrateurs)
if api_token.present? && api_token.context.fetch(:procedure_ids).include?(procedure.id)
api_token.touch(:last_v1_authenticated_at)
2022-11-30 10:13:55 +01:00
api_token.administrateur
end
end
2018-09-26 16:27:58 +02:00
private
2016-02-19 16:59:18 +01:00
def default_format_json
2018-01-11 19:04:39 +01:00
request.format = "json" if !request.params[:format]
2016-02-19 16:59:18 +01:00
end
def authorization_bearer_token
params_token.presence || header_token
end
def header_token
received_token = nil
authenticate_with_http_token do |token, _options|
received_token = token
end
received_token
end
def params_token
params[:token]
end
2017-04-04 15:27:04 +02:00
end