Module: AuthPassportCheckpoint::SignedRequestHelper

Extended by:
ActiveSupport::Concern
Defined in:
lib/auth_passport_checkpoint/helpers/controller_helpers/signed_request.rb

Instance Method Summary collapse

Instance Method Details

#signed_request_result(request_uri, args = {}, redirect = true) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/auth_passport_checkpoint/helpers/controller_helpers/signed_request.rb', line 19

def signed_request_result(request_uri, args = {}, redirect=true)
  begin
    kurrent_access_token = current_access_token
  rescue NoMethodError
    kurrent_access_token = args[:params].try(:[],:acces_token)
  end
  request_params = (args[:params] || {}).merge({access_token: kurrent_access_token})
  raw_result = AuthOriginControl::SignedRequest.new(request_uri, args.merge({:payload => request_params})).try(:result)
  if result = success_result(raw_result)
    result
  else
    return redirect ? redirect_to(AuthPassportCheckpoint.authenticate_redirect_url(self)) : raw_result
  end
end

#success_result(r) ⇒ Object



34
35
36
37
38
# File 'lib/auth_passport_checkpoint/helpers/controller_helpers/signed_request.rb', line 34

def success_result r
  error = (r.is_a?(Hash) and r.try(:[],:error) || r.try(:[],"error"))
  return r unless error
  nil
end

#user_signed_request_result(request_uri, args = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/auth_passport_checkpoint/helpers/controller_helpers/signed_request.rb', line 5

def user_signed_request_result(request_uri, args = {})
  if kurrent_user = AuthPassportCheckpoint::Booster.get(current_access_token)
   return kurrent_user
  else
    request_params = (args[:params] || {}).merge({access_token: current_access_token})
    result = AuthOriginControl::SignedRequest.new(request_uri, args.merge({:payload => request_params})).try(:result)
    if result = success_result(result) 
      AuthPassportCheckpoint::Booster.set current_access_token, result
      return AuthPassportCheckpoint::Booster.get(current_access_token) || result
    end
  end
  nil
end