Search code examples
node.jsamazon-web-servicesamazon-s3amazon-cloudfront

AWS Nodejs official SDK support for getSignedUrl with CloudFront & RTMP


I have searched here http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/frames.html under CloudFront and I don't see a method to generate a signed url for my RTMP endpoint using NodeJs SDK. I realize S3 has the method:

(String?) getSignedUrl(operation, params, callback)
Get a pre-signed URL for a given operation name.

Does this method exist for CloudFront? I know the procedure exists according to this: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-canned-policy.html

If not, are there any alternate method to generating a signed url? I want the link to stop working after a minute or so because I don't want someone to steal my links and download content. Am I approaching this correctly?


Solution

  • For now AWS Nodejs SDK does not support getSignedUrl with CloudFront. http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/frames.html

    It is possible with .net & co, but not yet with Nodejs. Some developers prefer to use S3 instead of Cloudfront for serving signedUrl, because it is a lot easier. Serving files stored in S3 in express/nodejs app

    But some have reproduced what the method getSignedUrl should do for CloudFront. Creating signed S3 and Cloudfront URLs via the AWS SDK

    Thanks to Jason who has even made a package for that. On NPM : https://www.npmjs.org/package/aws-cloudfront-sign