What are Refresh Tokens?! and...How to Use Them Securely

Поділитися
Вставка
  • Опубліковано 19 сер 2024

КОМЕНТАРІ • 52

  • @KulcsarRudolf
    @KulcsarRudolf 5 місяців тому +6

    Super clear, thank you for this awesome video! I feel smarter.

  • @twd2
    @twd2 Рік тому +2

    that's genius, you explained what I was working for it for three months,thanks bro❤!!!

  • @jesterflint9404
    @jesterflint9404 9 місяців тому +12

    This video has enough information to tell you "refresh tokens are very powerful" and they also tell you "auth0 takes measures to secure it" (which satisfies their goal I guess). The main difference between access tokens and refresh tokens is that the refresh tokens are stored in the database and the server can invalidate them at will. So, if a user changes password or the refresh token is compromised, the refresh token can be revoked and the bad actor loses access as soon as the access token expires.

  • @marvellstudio9355
    @marvellstudio9355 2 місяці тому +1

    One of the best video I have watched 👌❤ loved the way you explained

  • @oktricio
    @oktricio Рік тому +4

    Super clear and educational!

  • @dashmasterful
    @dashmasterful 9 днів тому

    Honestly, great video!

  • @luisvillar8320
    @luisvillar8320 Рік тому +1

    Thank you sir for making this video informative and fun to watch.

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

    Sir, thanks you very much ,I have been searching for long for this😂 ...
    From India 🇮🇳 ♥️

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

    Thank you, the video gives me the answer for how to secure refresh tokens.

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

      Glad we could help!

  • @SunnyHenry
    @SunnyHenry Рік тому +6

    Awesome and easy to understand! Thank You Very Much! I do have one question though, that I can't seem to find the answer to. For refresh token rotation, is it a sliding rotation? Meaning when I get a new refresh token is the expiration pushed back further than the initial expiration? Or is there a way to configure it to, regardless of how many refresh tokens I get, have a combined expiration of... let's say 30 days?

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

      Thanks for your question! Let us do some research and get back to you, please 🙏

  • @juanbolanos5939
    @juanbolanos5939 Рік тому +2

    Thank you! It helped me a lot

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

      Glad to hear that!

  • @omphemetsemafoko830
    @omphemetsemafoko830 Рік тому +1

    Good explanation. Thanks. God bless you

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

      You are very welcome :)

  • @austinkloske3970
    @austinkloske3970 29 днів тому

    great explaination! Thank you

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

    Great vid, informative and very entertaining. Well done, Sir!

  • @urodsky_monday
    @urodsky_monday Рік тому +1

    Great video! thank you!

  • @techytipsnow
    @techytipsnow Рік тому +1

    It was a great session, easy to understand comparing with others

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

    Thought I was tripping when I saw the guy's beard starting to grow grey towards the end of the video lol.

  • @bobobobo-ki2fw
    @bobobobo-ki2fw Рік тому

    thank you for the content you are very knowledable. Mini tip that would help so much is to use tables charts eg for part about which auth flow ot use.

  • @SwiftDustStorm
    @SwiftDustStorm 25 днів тому

    wouldn't the automatic resuse detection system require state? In that case why not use Oauth 2?

  • @sabuein
    @sabuein Рік тому +1

    Thank you.

  • @jimkk159
    @jimkk159 Рік тому +1

    Awesome viedo! However, I wonder if the token family break the server stateless?

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

    Thanks!

  • @user-rd4oo1jg5g
    @user-rd4oo1jg5g Рік тому

    Hi, I'm trying to understand since I'm building an app in Php and I have to use a rest service, I have the service to request a token that also returns the refresh token, ¿Should I request the token, store it in a database and every time I request the token, before checking if I have a valid one in the database based on the expiration date? ¿What would the refresh token be used for?
    Thanks for all

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

    If both the access token and refresh token have expired at the same time (i.e., after 15 minutes), it presents a challenge because the client can no longer use the expired refresh token to obtain a new access token. In this case, the user would need to re-authenticate to obtain a new pair of tokens innit?

    • @OktaDev
      @OktaDev  4 місяці тому +1

      Yes, this is by design. You shouldn't configure your access token and refresh token lifetimes to be the same. If a 1-hour access token happens to coincide with a 30-day refresh token expiring, that is correct, and the intent is that the user has to log in again. Hope that helps!

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

    Plain English. I understand now!!!

  • @user-uz5iq6my2k
    @user-uz5iq6my2k 5 місяців тому

    What happens if a malicious person gets their hands on the refresh token, but the actual user doesn't make a request for quite some time? Wouldn't that let the malicious person misuse the long-lasting refresh token? While I do agree that rotating refresh tokens can enhance security, I'm curious about how this specific scenario would be managed.

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

      Thanks for watching! If a refresh token issued to a public client is stolen, the attacker can impersonate the client and use the refresh token without being detected. It is also possible to bind refresh tokens to the public client instance using DPoP (oauth.net/2/dpop/) which can counter this attack. Confidential clients need to authenticate to the authorization server in order to use the refresh token, so the risk of stolen refresh tokens is lower for this type of client.

  • @abdulhaimohamed
    @abdulhaimohamed Рік тому +1

    I JUST WANT TO SAY THAT I SPEND ABOUT 4-5 DAYS JUST SEARCHING WHY WE NEED REFRESH TOKEN, THANKS ALLAH FORR FIND THIS VIDEO AT THE END OF MY DAY AND THANKS YOU FOR THE PLAIN AND CLEAR UNDERSTANDABLE ANSWER , KINDLY THANK THIS GUY TOO MUCH AND PROVIDE ME BY HIS TWITTER IF HE HAS, THANK YOU

    • @OktaDev
      @OktaDev  Рік тому +1

      Thanks for your kind feedback! We have shared it with Will :) You can find him on Twitter here: twitter.com/willjohnsonio

    • @abdulhaimohamed
      @abdulhaimohamed Рік тому +1

      @@OktaDev Thank you for your time and effort🌺

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

      Thank you

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

    How the heaven I generate.a new refrsh token ? Am noob

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

    Clearly explained. Thanks. But, but how can a beginner get an example of using Okta and spring boot 3 microservices?

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

      Thanks for your feedback. We don't have content on Spring Boot 3 yet but we'll keep that in mind as a topic to tackle.

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

      @@OktaDev Thanks. But you know if there any major changes I should be aware of, in case I want to use Okta with a spring boot 3 application?

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

      I created a microservices architecture with Spring Boot 3 and Auth0 last week using JHipster. You can check out the video at ua-cam.com/video/kq31RuT4Bxw/v-deo.html.

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

      @@mraible Thanks.

  • @cn5703
    @cn5703 8 місяців тому

    What happens in 12:07, if the malicious user authenticated with the stolen refresh token before the legitimate user does? Wouldn't the melicious user then have a legit access token to impersonate the legit user?

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

      I am wondering too

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

      he would, for a short while. If a refresh token is used twice, all subsequent refresh tokens will be invalid. So both attacker and the legimate users would had to relogin. (Which attacker cant). Correct me if I am wrong.

  • @whatsoever6863
    @whatsoever6863 9 місяців тому +8

    infromative, but it is visible that the man presenting the topic reads everything from behind camera, feels like he doesn't really know what he is talking about :)

  • @sridharyemparala4185
    @sridharyemparala4185 Рік тому +5

    What happens if refresh token was played by hacker before real user needs it? So the hacker gets the new 2nd access token. So silly 😂. The whole opened has a flaw! The persistence of the token should be on the SP side so not post them and stop. Not the IDP checking later. Which is pure useless

    • @mrj1997
      @mrj1997 Рік тому +2

      I see the whole flow bullshit, next years must be a much better way for doing this. current methods are so ridiculous

    • @abdulhaimohamed
      @abdulhaimohamed Рік тому +1

      i was just about to write the same comment, but think in it for 1 second,
      it does not depend on who uses it first it depends that it can be used once, otherwise, all is unauthenticated
      so if the hacker uses it first, when the real user tries ti use it again i=> all will be un authenticated and the real use can log in again with his credentials

    • @cn5703
      @cn5703 8 місяців тому +1

      @@abdulhaimohamed ... but not before the malicious user steals all the legit user's data. It doesn't take long.

  • @sub-harmonik
    @sub-harmonik Рік тому +1

    the editing is a bit weird