Class: CrystalApi::MessageVerifier
- Inherits:
-
Object
- Object
- CrystalApi::MessageVerifier
- Includes:
- HmacRequestSigning
- Defined in:
- lib/crystal_api/message_verifier.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#shared_secret ⇒ Object
readonly
Returns the value of attribute shared_secret.
Instance Method Summary collapse
- #expected_signature ⇒ Object
-
#initialize(shared_secret, request) ⇒ MessageVerifier
constructor
A new instance of MessageVerifier.
- #verified? ⇒ Boolean
Methods included from HmacRequestSigning
#canonicalize_params, #hmac_sha256, #inject_signature_header, #request_signature, #serialized_params, #sign_params
Constructor Details
#initialize(shared_secret, request) ⇒ MessageVerifier
Returns a new instance of MessageVerifier.
7 8 9 10 |
# File 'lib/crystal_api/message_verifier.rb', line 7 def initialize(shared_secret, request) @shared_secret = shared_secret @request = request end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/crystal_api/message_verifier.rb', line 5 def request @request end |
#shared_secret ⇒ Object (readonly)
Returns the value of attribute shared_secret.
5 6 7 |
# File 'lib/crystal_api/message_verifier.rb', line 5 def shared_secret @shared_secret end |
Instance Method Details
#expected_signature ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/crystal_api/message_verifier.rb', line 16 def expected_signature rack_request = Rack::Request.new(request.env) sign_params(rack_request.request_method, rack_request.host, rack_request.path, shared_secret, rack_request.params) end |
#verified? ⇒ Boolean
12 13 14 |
# File 'lib/crystal_api/message_verifier.rb', line 12 def verified? request_signature(request) == expected_signature end |