Relevant AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html
Relevant AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html
(compute-signature {:keys [credentials str-to-sign region service short-date]})
(construct-endpoint-str {:keys [hostname protocols protocol region port]
:as _endpoint})
Helper function to deal with the endpoints data structure from Cognitect client which can be quite confusing.
Helper function to deal with the endpoints data structure from Cognitect client which can be quite confusing.
(generate-presigned-url client
bucket
object-key
{:keys [endpoint path-style region] :as opts})
Takes client, bucket name, object key and an options map with the following default values:
{:path-style false ; path-style is the 'old way' of URL's
:endpoint nil} ; alternative endpoint eg. "http://localhost:9000"
The options map is 'forwarded' to presign
,
see that function for more relevant options.
Returns a presigned URL.
Takes client, bucket name, object key and an options map with the following default values: {:path-style false ; path-style is the 'old way' of URL's :endpoint nil} ; alternative endpoint eg. "http://localhost:9000" The options map is 'forwarded' to `presign`, see that function for more relevant options. Returns a presigned URL.
(presign credentials url)
(presign credentials
url
{:keys [ref-time region expires]
:or {ref-time (Date.) region "us-east-1" expires "3600"}})
Take an URL for a S3 object and returns a string with a presigned GET-URL for that particular object. Takes the following options (a map) as the last argument, the map value shows the default values: {:ref-time (java.util.Date.) ; timestamp incorporated into the signature :expires "3600" ; signature expires x seconds after ref-time :region "us-east-1"} ; signature locked to AWS region
By default credentials are read from standard AWS location.
Take an URL for a S3 object and returns a string with a presigned GET-URL for that particular object. Takes the following options (a map) as the last argument, the map value shows the default values: {:ref-time (java.util.Date.) ; timestamp incorporated into the signature :expires "3600" ; signature expires x seconds after ref-time :region "us-east-1"} ; signature locked to AWS region By default credentials are read from standard AWS location.
(sign-request
client
{:keys [body headers method url] :as request}
{:keys [ref-time region service]
:or {region (:region client) service "execute-api" ref-time (Date.)}})
(signature credentials
canonical-url
{:keys [scope method timestamp region service query-params
content-sha256 signed-headers]})
AWS specification: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html Inspired by https://gist.github.com/souenzzo/21f3e81b899ba3f04d5f8858b4ecc2e9
AWS specification: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html Inspired by https://gist.github.com/souenzzo/21f3e81b899ba3f04d5f8858b4ecc2e9
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close