Class: SpreeCmCommissioner::Media::SignedCookieGenerator
- Inherits:
-
Signer
- Object
- Signer
- SpreeCmCommissioner::Media::SignedCookieGenerator
show all
- Includes:
- Interactor
- Defined in:
- app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb
Instance Method Summary
collapse
Methods inherited from Signer
#distribution_domain, #expiration_time, #key_pair_id, #private_key, #url
Instance Method Details
#call ⇒ Object
8
9
10
|
# File 'app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb', line 8
def call
sign
end
|
#object_path ⇒ Object
36
37
38
|
# File 'app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb', line 36
def object_path
File.dirname(s3_object_key)
end
|
#policy ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb', line 19
def policy
{
'Statement' => [
{
'Resource' => "#{distribution_domain}/#{object_path}/*",
'Condition' => {
'DateLessThan' => { 'AWS:EpochTime' => expiration_time }
}
}
]
}
end
|
#sign ⇒ Object
12
13
14
15
16
|
# File 'app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb', line 12
def sign
result = signer.signed_cookie(url, policy: policy.to_json)
context.result = result
end
|
#signer ⇒ Object
32
33
34
|
# File 'app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb', line 32
def signer
@signer ||= Aws::CloudFront::CookieSigner.new(key_pair_id: key_pair_id, private_key: private_key)
end
|