Understanding How OAuth2 Works

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 83

  • @atldeadhead
    @atldeadhead 4 года назад +24

    You present the best variety of topics. And you address those topics with simple and direct explanations and examples. Thank you.

  • @noone_and_nobody
    @noone_and_nobody 2 года назад +1

    All programmatic concepts make much more sense when illustrated with the code. This is one of those few videos that accomplishes that. Kudos!

  • @tobywynne-mellor6330
    @tobywynne-mellor6330 4 года назад +21

    Thanks for making this video, it is by far the best OAuth2 explanation I’ve seen.

  • @HeathMorrisPlease
    @HeathMorrisPlease 4 года назад +1

    Thank you for making this video! I have a lot more clarity now. One comment: According to the OAuth2 terminology, I think that technically the "Resource Owner" you mention at 1:58 is actually the user, and not Discord, as it is the user who owns the resources (information in that discord account) that we are looking to access. And that would mean that steps 1 and 2 are interacting with the same Authorization Server that steps 3 and 4 are interacting with. Let me know if I'm wrong here. Thanks again for making this!

  • @dr.adam.nielsen
    @dr.adam.nielsen 2 года назад

    Finally a video that explains OAUTH2 with a code example. Just seeing cartoon drawnings doesnt help. Thiis is pure gold. Thank you.

    • @soniablanche5672
      @soniablanche5672 2 года назад

      yeah, most youtubers use passport for oauth2 in NodeJS and it abstracts everything explained in this video. Now I understand what's actually going on.

  • @danielgospodinow
    @danielgospodinow 2 года назад

    This is the best OAuth2 explanation ever! The explanations with the code snippets are super useful (for me at least). Thanks!

  • @plreuokjhg
    @plreuokjhg 3 года назад

    Most easy explanation , I found yet. Though there is one layer of authentication required by discord before we get the code

  • @mabroorahmad2182
    @mabroorahmad2182 3 года назад +1

    Its so frustrating! Every body just talks about libraries. Thanks! for showing some inner workings

  • @leonlysak4927
    @leonlysak4927 4 года назад +1

    Hands down, best explanation to Oauth2 on RUclips

  • @soniablanche5672
    @soniablanche5672 2 года назад

    Finally found a video that explains oauth2 with some code examples. So It's a simple as 3 http requests done one after the other.

  • @K33SKAAS
    @K33SKAAS 3 года назад

    Thanks man! Just started as a junior and this vid helped me explain a lot about my first project!

  • @capistor1
    @capistor1 Год назад

    As always you've been helpful EM. i've been looking into this for hours. thanks.

  • @gat2871
    @gat2871 2 года назад

    Wonderful explanation. Super understandable. Thank you very much!

  • @JeroenTrappers
    @JeroenTrappers 4 года назад

    Interesting video. You also have the discovery service, to get the endpoints and JWS / JWE encryption to further secure these things.

  • @the_real_editor
    @the_real_editor 4 года назад +24

    Oof only 600 views this deserves more.

    • @BB-zp8lu
      @BB-zp8lu 3 года назад +1

      I guess you were right. 22k views right now

  • @josephvictory9536
    @josephvictory9536 3 года назад

    How would you get this to work with SMTP? It seems sensible for standard HTTP requests, but i cant seem to figure out how to get it to work to make SMTP email sends. More specifically with Yandex email servers

  • @mks9118
    @mks9118 4 года назад +1

    This chanel is UNDERRATED!

  • @Mrstealurgrill
    @Mrstealurgrill 4 года назад +4

    Hi. Thanks for the video, can you explain how the parameters are generated? CLIENT_SECRET , etc. can this be tested from our local host?

    • @EngineerMan
      @EngineerMan  4 года назад +5

      They'll be generated for you by the service that you want to integrate with. In this case, Discord generates both of them.

    • @richardbenes9
      @richardbenes9 2 года назад

      Yes, how CLIENT_ID & CLIENT_SECRET are generated - that's the only thing missing in the video.
      I thing it would be worth it to add it at least to the video's description.

  • @LukePryor
    @LukePryor 3 года назад

    Hey, with the user data in your video, how would pass that to a react component? thanks

  • @RafaelKarosuo
    @RafaelKarosuo 3 года назад

    Thanks for sharing so neat explanation. Just wondering, where do you suggest to store the secret key, environment variables in a file that only the user running the app is access to?

  • @davidcotto8955
    @davidcotto8955 3 года назад

    im a bit confused.. isnt a user suppose to put in there username and password first.. then once authorized then they will go ahead and get access to data such as email username etc from auth2 server?

  • @ZacharyBetz
    @ZacharyBetz 3 года назад

    Clear and concise explanation. Thank you.

  • @sagargandale4510
    @sagargandale4510 3 года назад

    well explained with practical approch

  • @92stathis
    @92stathis 2 года назад

    Thank you sir! Very good plain explanation

  • @richardobaze3249
    @richardobaze3249 4 года назад +1

    As always Great content. Explains it so simply. Thank you

  • @ZacKoch
    @ZacKoch 4 года назад +3

    Awesomeness 👌 love the new tagline too :)

  • @vigneshwaranrenganathan7743
    @vigneshwaranrenganathan7743 2 года назад

    It Crisp and clear keep the good work up, I have a doubt , how can we configure with passport-oauth2 client if there is no pre-existing client available for our oauth2 provider?

  • @exactzero
    @exactzero 4 года назад

    Awesome! Explained every step very clearly. Thank you!

  • @khendron
    @khendron 4 года назад +2

    That was great! Next up, please explain what OpenID Connect brings to the table :)

  • @ArunKarthikRavishankar
    @ArunKarthikRavishankar 4 года назад

    Thx for making this video, this is very helpful. Do you also have or can make a recording with sso example.

  • @user-no7vv5gi2v
    @user-no7vv5gi2v 3 года назад

    nice explanation broski

  • @idanqwe1
    @idanqwe1 3 года назад

    Great explanation! thanks

  • @RandallLowetx
    @RandallLowetx Год назад

    holy.... I cannot believe how much I was overthinking this. :facepalm: Thank you so much for explaining this so succinctly. Since the refresh token is typically provided with each access token, that means you could do something like store the two tokens in the local dataStore and use the refresh token every n hours to update your access token?

    • @zombie_pigdragon
      @zombie_pigdragon Год назад +1

      Theoretically yes but practically no. The reason is that you need the secret to actually be able to use the refresh token, and the secret should never appear on a "local" system. The only time that this tradeoff changes is when the application is run entirely locally, and each user registers their own app with the authentication provider, and thus can use their own secret for refreshing their access.

  • @cionnait
    @cionnait 4 года назад

    Good clear explanation. Well done.

  • @maddutchess5312
    @maddutchess5312 4 года назад

    This helps a lot. Thank you for the clarity. 👍

  • @toolbelt7439
    @toolbelt7439 4 года назад

    I learned more about what Oath2 is all about by EM going over the code. I am still trying to figure out why an API call or OAuth2 would need a redirect URL. Why can't it create its own?

    • @EngineerMan
      @EngineerMan  4 года назад +1

      The redirect URL is necessary because it needs to go back to your own site's address. The oauth provider would have no way to know what that is.

  • @laksheykumar1991
    @laksheykumar1991 4 года назад

    Great video! Explained it so well

  • @rodrigolj
    @rodrigolj 4 года назад

    Are there any security implications of not using https in your redirect_uri?

    • @EngineerMan
      @EngineerMan  4 года назад

      None that I know of. All that comes back is the code which needs to be combined with a person's client secret to do anything useful with it.
      That said, best practice in 2019 is to https everything regardless.

  • @nagasaivishnu9680
    @nagasaivishnu9680 4 года назад

    Awesome explanation 👌👏. Any tutorial on how can we get access token from refresh tokens?

  • @gabrielsscavalcante
    @gabrielsscavalcante 4 года назад

    Simple and direct!

  • @AceHardy
    @AceHardy 4 года назад

    👑

  • @AbrahamWilson
    @AbrahamWilson 4 года назад

    is it possible to do this in django, i.e., without any added libraries.

  • @PlayRiteProductions
    @PlayRiteProductions 4 года назад

    Super simple, Thanks for this.

  • @jairajsahgal5062
    @jairajsahgal5062 3 года назад

    nice video bro

  • @idc19
    @idc19 4 года назад

    Thank you! You got a subscriber.

  • @michaelbasher
    @michaelbasher 2 года назад

    Well Good n Bookmarked !

  • @ltred8352
    @ltred8352 4 года назад

    I enjoyed this, thanks!

  • @surferbum618
    @surferbum618 4 года назад

    Thanks for this!

  • @remyd8767
    @remyd8767 4 года назад

    Does 3 legged oauth always require a login challenge

  • @kid_kulafu_1727
    @kid_kulafu_1727 4 года назад

    60 lins of code if you use passport for node its 3lines of code. Haha. Anyway sir you really good teacher.

  • @GonzaloOviedoLambert
    @GonzaloOviedoLambert 4 года назад

    I dont understand, this oauth service that discord offer , CAn i use it with any app of my own?

    • @Mrstealurgrill
      @Mrstealurgrill 4 года назад

      Gonzalo Oviedo Lambert yes that’s why it’s openAuth. Anyone can Auth via Discord and request data from discord API and

    • @GonzaloOviedoLambert
      @GonzaloOviedoLambert 4 года назад

      @@Mrstealurgrill Ok, but i dont require data from Discord, i only need that the api give me the token, using like a Oauth Server and nothing else to my app. It is that possible?

    • @a.yashwanth
      @a.yashwanth 4 года назад

      @@GonzaloOviedoLambert That's what the 4th step is. It's upto you whether you want to access data or not.

    • @Mrstealurgrill
      @Mrstealurgrill 4 года назад

      @@GonzaloOviedoLambert you can install postman right now and request a token from discord API using your username and password (you must have Discord Account).

    • @GonzaloOviedoLambert
      @GonzaloOviedoLambert 4 года назад

      @@Mrstealurgrill Thanks Matthew, i understand.

  • @bbamboo3
    @bbamboo3 4 года назад

    Very effective.

  • @benx5781
    @benx5781 2 года назад

    Thanks

  • @lantra5563
    @lantra5563 4 года назад

    awesome, thanks

  • @SumitSingh-cr6gg
    @SumitSingh-cr6gg 4 года назад

    What is name of the font in "Engineer Man"

    • @tayfun6378
      @tayfun6378 4 года назад +2

      I uploaded it on an online recognizer tool and it says "aclonica"

  • @Ownage4lif31
    @Ownage4lif31 4 года назад

    Oauth is beautiful

  • @mrnobody5763
    @mrnobody5763 4 года назад

    This is with grant_type equal to Authorization_code.

  • @marcosrod7260
    @marcosrod7260 4 года назад

    Thank you some docs are confusing haha

  • @MobiusCoin
    @MobiusCoin 4 года назад

    This is only intelligible because I had a senior engineer walk me through every step of this as I had to perform this using Wordpress(wp_remote_request, which I didn't know existed) and a cron job (NOT wp-cron, don't ever use wp-cron). But the first time I watched this, it made no sense whatsoever.

  • @tayfun6378
    @tayfun6378 4 года назад

    why did I find you so late?

  • @XxTerroristXx12GTAV
    @XxTerroristXx12GTAV 3 года назад

    Only smart pepole go for here to search

  • @denisonder624
    @denisonder624 4 года назад

    First

    • @Zooiest
      @Zooiest 4 года назад

      Nobody cares

    • @denisonder624
      @denisonder624 4 года назад +2

      @@Zooiest You do.

    • @Zooiest
      @Zooiest 4 года назад +2

      Denis Onder yeah right

    • @EngineerMan
      @EngineerMan  4 года назад +3

      The question is... did you watch it first?