You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::SNS::MessageVerifier
- Inherits:
-
Object
- Object
- Aws::SNS::MessageVerifier
- Defined in:
- aws-sdk-resources/lib/aws-sdk-resources/services/sns/message_verifier.rb
Overview
A utility class that can be used to verify the authenticity of messages sent by Amazon SNS.
verifier = Aws::SNS::MessageVerifier.new
# returns true/false
verifier.authentic?()
# raises a Aws::SNS::MessageVerifier::VerificationError on failure
verifier.authenticate!()
You can re-use a single MessageVerifier instance to authenticate multiple SNS messages.
Defined Under Namespace
Classes: VerificationError
Instance Method Summary collapse
-
#authentic?(message_body) ⇒ Boolean
Returns
true
if the given message has been successfully verified. -
#authenticate!(message_body) ⇒ Boolean
Returns
true
when the given message has been successfully verified. -
#initialize ⇒ MessageVerifier
constructor
A new instance of MessageVerifier.
Constructor Details
#initialize ⇒ MessageVerifier
Returns a new instance of MessageVerifier.
42 43 44 |
# File 'aws-sdk-resources/lib/aws-sdk-resources/services/sns/message_verifier.rb', line 42 def initialize @cached_pems = {} end |
Instance Method Details
#authentic?(message_body) ⇒ Boolean
Returns true
if the given message has been
successfully verified. Returns false
otherwise.
49 50 51 52 53 |
# File 'aws-sdk-resources/lib/aws-sdk-resources/services/sns/message_verifier.rb', line 49 def authentic?() authenticate!() rescue VerificationError false end |
#authenticate!(message_body) ⇒ Boolean
Returns true
when the given message has been
successfully verified.
60 61 62 63 64 65 66 67 68 69 |
# File 'aws-sdk-resources/lib/aws-sdk-resources/services/sns/message_verifier.rb', line 60 def authenticate!() msg = Json.load() msg = convert_lambda_msg(msg) if is_from_lambda(msg) if public_key(msg).verify(sha1, signature(msg), canonical_string(msg)) true else msg = 'the authenticity of the message cannot be verified' raise VerificationError, msg end end |