Class: Restforce::SignedRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/restforce/signed_request.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(signed_request, client_secret) ⇒ SignedRequest

Returns a new instance of SignedRequest.



19
20
21
22
# File 'lib/restforce/signed_request.rb', line 19

def initialize(signed_request, client_secret)
  @client_secret = client_secret
  split_components(signed_request)
end

Class Method Details

.decode(signed_request, client_secret) ⇒ Object

Public: Initializes and decodes the signed request

signed_request - The POST message containing the signed request from Salesforce. client_secret - The oauth client secret used to encrypt the signed request.

Returns the parsed JSON context.



15
16
17
# File 'lib/restforce/signed_request.rb', line 15

def self.decode(signed_request, client_secret)
  new(signed_request, client_secret).decode
end

Instance Method Details

#decodeObject

Public: Decode the signed request.

Returns the parsed JSON context. Returns nil if the signed request is invalid.



28
29
30
31
32
# File 'lib/restforce/signed_request.rb', line 28

def decode
  return nil if signature != hmac

  JSON.parse(Base64.decode64(payload))
end