9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/url2pdf_rails/authentication.rb', line 9
def authenticate_as_pdf_request!(options = {})
skip_filter = options.delete(:skip_filter)
devise_fallback = options.delete(:devise_fallback)
skip_before_filter skip_filter, options if skip_filter.present?
devise_fallback.each do |devise_auth_model|
devise_auth_method = "authenticate_#{devise_auth_model}!"
skip_before_filter devise_auth_method.to_sym, options
end if devise_fallback.present?
authenticate_as_icanhazpdf_or_devise = -> do
if valid_icanhazpdf_request?
@authenticated_pdf_request = true
return
end
head 401 and return unless devise_fallback.present?
devise_fallback.each do |devise_auth_model|
devise_signed_in_method = "#{devise_auth_model}_signed_in?"
if self.respond_to?(devise_signed_in_method) && self.send(devise_signed_in_method)
@authenticated_devise_request = true
return
end
end
head 401
end
prepend_before_filter authenticate_as_icanhazpdf_or_devise, options
end
|