blob: 7412928b56e47271eea57de244a2a80f722dead5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class ActionMailbox::Ingresses::Amazon::InboundEmailsController < ActionMailbox::BaseController
before_action :ensure_verified
# TODO: Lazy-load the AWS SDK
require "aws-sdk-sns/message_verifier"
cattr_accessor :verifier, default: Aws::SNS::MessageVerifier.new
def create
ActionMailbox::InboundEmail.create_and_extract_message_id! raw_email
head :no_content
end
private
def raw_email
StringIO.new params.require(:content)
end
def ensure_verified
head :unauthorized unless verified?
end
def verified?
verifier.authentic?(request.body)
end
end
|