CloudFront Signed URLs with Node.js

Поділитися
Вставка
  • Опубліковано 11 січ 2025

КОМЕНТАРІ • 58

  • @santangelx1573
    @santangelx1573 Рік тому +7

    Your content is great, the audio, video quality, explanation... I have no clue as to why you don't have 100k subs

  • @isaiaspereira2796
    @isaiaspereira2796 2 місяці тому

    Dude! Your content and explanation of the services you cover are phenomenal!!!!! :)
    Thank you much man!

  • @videoideas.io_
    @videoideas.io_ 2 місяці тому

    Can't believe this is free 🔥 Awesome work man!

  • @tsykin
    @tsykin Місяць тому

    Thank you so much for showing how to implement that, that was super useful!

  • @lastbenchers019
    @lastbenchers019 5 місяців тому

    Bro bro bro your content is just toooo awesome

  • @megapixel23
    @megapixel23 2 роки тому +1

    Thank you, man! That's exactly what I was looking for :)

  • @anu8928
    @anu8928 6 місяців тому

    Awesome explanation! 🎉🎉

  • @sidthetech_USA
    @sidthetech_USA Рік тому

    Saved my ass. Now I won't get the "Reinforced Shock Treatment" ... TY so much!

  • @Sd-Bye
    @Sd-Bye 2 роки тому +2

    great tutorial, I was having a lot of issues getting my private key import to work (maybe because I'm using AstroJS?). If anyone else is having issues try converting your key into base64 (cat private_key.pem | base64) then paste the output into your .env. Then parse the base64 with a buffer in your code (Buffer.from(, 'base64')

    • @fahreziadha
      @fahreziadha Рік тому

      seeeshh!! u helping me! many thanks :D :D

  • @luismontero259
    @luismontero259 9 місяців тому

    Thanks dude, good tutorial, really helpful

  • @ifeody
    @ifeody 3 місяці тому

    Thank you Sam! Love you!

  • @yusstilllearning2749
    @yusstilllearning2749 Рік тому

    Great Content bro!! Thank you!! keep it up❤

  • @aussietramp
    @aussietramp 2 роки тому

    Dude,you make me wanna leave my job since i'll never been as sharp as you..damn you!

    • @SamMeechWard
      @SamMeechWard  2 роки тому

      Just keep watching all my videos and commenting on them and become a channel member 🤗🤗🤗
      Then you’ll be sharp

  • @gizataibassov6738
    @gizataibassov6738 6 місяців тому

    thanks mate! this is well explained!

  • @wickedknock9798
    @wickedknock9798 5 місяців тому

    This XML file does not appear to have any style information associated with it. The document tree is shown below.

  • @maazmunir7502
    @maazmunir7502 2 роки тому

    Terrific video. Thanks for the help.

  • @Sergio-ef5pz
    @Sergio-ef5pz 2 роки тому +1

    Thanks for an amazing content! One little critic, is that when the video begins, it's not clear that you're previewing a future segment of the video. At first I thought the video was glitched,

  • @fahadmahmood8656
    @fahadmahmood8656 Рік тому

    Great content. I am working on CMS in Laravel, how would signed URL effect the front end web because we want consistent study URL where singed or presigned url change the URL address on each request.
    I suppose we just have to use public URL access in such case. Am I missing anything?
    Should we consider cookies instead of signed URL?

  • @hieudinhofficial
    @hieudinhofficial 2 роки тому

    Thank you, your video is so helpful to me to understand

  • @techh4ck936
    @techh4ck936 5 місяців тому

    Thanks for sharing awesome contents.

  • @praveensequeira1525
    @praveensequeira1525 Рік тому

    Hi, thank you for the great content. Have a quick qn. My understanding is that you showcased how we can use signed URLs to grant temporary access to the image i.e. no one can access the image even if they copied the URL from an authorized user's machine and used it after the expiry. Is it possible to also somehow provide access to only customers who have paid for the content, and not some random website visitor? I'm not sure if my question doesn't make perfect sense or has holes in the requirement, but glad to be corrected. thank you.
    Reference:
    Preventing Unauthorized Access: By requiring a valid signed URL to access a resource, CloudFront ensures that only users with the correct URL and authorization parameters can view or download the content. This effectively prevents hotlinking and unauthorized access.

  • @MatttAt
    @MatttAt Рік тому

    Is there a way to bypass these or generate keys or expiry extensions? Outside of their api, Google uses signed url's where you look at the ads being run by their advertisers. I bookmarked some of the advertiser pages and the links work for only a day or so.

  • @uwanxttesting
    @uwanxttesting 2 роки тому +1

    I followed same approach, but in my case it's showing Access Denied

  • @paragbhide1695
    @paragbhide1695 Рік тому

    Big Fan of your videos!!!

  • @otuleja
    @otuleja Рік тому

    This was perfect... thank you

  • @pradyumnacharate1194
    @pradyumnacharate1194 11 місяців тому

    Hello Sam..Thanks For share...how can I restrict signed url to be accessible only when request comes from my frontend domain? is their any way?because currently anyone can download that url easily.

  • @ranicket
    @ranicket Рік тому

    Hmmm for some reason I'm getting 403 when loading images using the signedUrl.. any ideas, Sam?

  • @ntsagar9
    @ntsagar9 Рік тому

    I have one project that email signature I am using cloudfront sign url for s3 image and issue is once explire the url that email signature not working.
    You have any solution for this ?

  • @emmabijmohun770
    @emmabijmohun770 4 місяці тому

    Great vid, thank you!!

  • @IshanAgarwal-w5o
    @IshanAgarwal-w5o Місяць тому

    is there a way to shorten the generated signed url?

  • @EddieMao
    @EddieMao 10 місяців тому

    great video, thank you so much.

  • @jasonvictor1798
    @jasonvictor1798 Рік тому

    Great video. But how would you set this up for a subscription service where paid subscribers get premium content i.e. 4k videos?

  • @rickshawty
    @rickshawty Рік тому

    dude you are awesome!

  • @san3724
    @san3724 2 роки тому

    Awesome video!!

  • @rishabhmishra4093
    @rishabhmishra4093 Рік тому

    i tried this but when i access file conent through signed uRL returns access denied

  • @dmitrymatio
    @dmitrymatio 2 роки тому +1

    How did you breakdown the url so quickly? What's the shortcut

  • @andreseungyeobsong4899
    @andreseungyeobsong4899 7 місяців тому

    your video rocks!!

  • @ahmedalobed7382
    @ahmedalobed7382 2 роки тому

    Hi Sam
    I saw and follow you previous video (Set up a CloudFront CDN for an S3 Bucket)
    But it was not work. whatever object in S3 i tried to access to it, it said (Access Denied)
    i spent a lot of times to see what is wrong with my Cloudfront, then i know that i must first to make my objects in S3 public for all the world so Cloudfront could access them.
    Amazon docs:
    By default, your Amazon S3 bucket and all the files in it are private-only the Amazon account that created the bucket has permission to read or write the files. If you want to allow anyone to access the files in your Amazon S3 bucket using CloudFront URLs, you must grant public read permissions to the objects.
    So now I am asking: what is the benefit of signed Cloudfront URLs if the object already must be public for all the world? and anyone could access this object directly from S3 bucket?

    • @SamMeechWard
      @SamMeechWard  2 роки тому

      They don't need to be public. Follow my videos exactly, I never make any of my objects in my S3 bucket public. They are private and can only be accessed when a signed url is generated by an IAM user that has that permission.
      With the CloudFront example, the only thing that can access the files in s3 is the cloudfront distribution. Nothing else can access them. Then you sign urls to allow some access to cloudfront.

  • @clearthinking5441
    @clearthinking5441 10 місяців тому

    But technically the bots can still download the files and build their own database? They just need to sign in to your website periodically?

  • @kapilkumar2204
    @kapilkumar2204 6 місяців тому

    nicely explained

  • @babayaga6172
    @babayaga6172 2 роки тому

    Hi Sam you are actually doing amazing 🤩
    But I have am wondering performance bottlenecks
    You are mapping on every document and generate a signed url
    Why should we genete url at each request if url is generated already for one day if a single user is keep refreshing page we are generating every time same url
    How to.handle this?

    • @SamMeechWard
      @SamMeechWard  2 роки тому +1

      The mapping is not processor intensive so you’ll be fine, but you could also store the url in a database or redis cache if you wanted to reuse the url

    • @babayaga6172
      @babayaga6172 2 роки тому

      @@SamMeechWard Thanks ☺️

  • @Foyzul
    @Foyzul Рік тому

    Thanks 🎉

  • @KephaMisasa
    @KephaMisasa 7 місяців тому

    Daaang bro

  • @Sunil-e1d6b
    @Sunil-e1d6b Рік тому

    nice work

  • @okeyshourovroy2769
    @okeyshourovroy2769 Рік тому

    Please make a video on signed cookies

  • @lambuitung6754
    @lambuitung6754 2 роки тому

    very useful !!!

  • @suneel1875
    @suneel1875 2 роки тому

    mate I am getting this error: Error: error:0909006C:PEM routines:get_name:no start line please help

    • @tayaward1733
      @tayaward1733 Рік тому

      you've probably figured it out by now lol but i removed all new lines, so the it is an inline string and added
      after-----BEGIN PRIVATE KEY----- and before -----END PRIVATE KEY-----, so it looks something like this CLOUDFRONT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----
      abcd
      -----END PRIVATE KEY-----"

  • @fkszm3
    @fkszm3 Рік тому

    Thank you!

  • @marcosveniciusubiali783
    @marcosveniciusubiali783 2 роки тому

    Perfect