OpenID Connect vs OAuth | OpenID Connect explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 34

  • @NadimAJ
    @NadimAJ ปีที่แล้ว +10

    I've been in the game 23 years and find these concepts truly difficult to understand but you do a great job. Thanks

    • @jgoebel
      @jgoebel  ปีที่แล้ว

      Glad to help!

  • @shashankvivek4812
    @shashankvivek4812 ปีที่แล้ว +1

    outstanding playlist ! I struggled to understand this OAuth flows and OpenId during 2017. I wish this video was there at that time. The original website has too many technical terms to understand easily.

    • @jgoebel
      @jgoebel  ปีที่แล้ว

      thx, I'm glad you found it useful

  • @55BLOCKS
    @55BLOCKS 2 หลายเดือนก่อน

    I have an interview that requires this implementation
    Thank you

  • @SomosExperiencia
    @SomosExperiencia ปีที่แล้ว

    Great explanation and very useful for no.coders PMs and POs. Thank you for sharing!

  • @6s6
    @6s6 3 ปีที่แล้ว +5

    Fantastic video. I never understood the difference between the two and now it makes more sense... OIDC is just OAuth with additional scopes.
    A video request: How does SAML differ from this? Why don't companies and applications using SSO just use OIDC instead of SAML?

    • @jgoebel
      @jgoebel  3 ปีที่แล้ว +1

      in principle yes.
      SAML is similar, but it is XML based. I haven't really used it before. SAML is supported for SSO for example in Azure Active Directory. It is supported because it came before OIDC

  • @cbest3678
    @cbest3678 11 หลายเดือนก่อน +1

    Thank you very much for this video. Very precise. Have doubt when we ask for ID token what is the next work flow looks like ?.. I know for access token client application send it with each request to resource sevrer in order to get the resource of a usser. But with ID token how client application react? Is it going to ask the client information from resource sevrer or it will directly use the iD token for storing users info . Thanks

    • @jgoebel
      @jgoebel  11 หลายเดือนก่อน +1

      The id token contains identity information of the end user for example email etc. It is a JWT, so base64 url encoded. I.e. you would decode the base64 url encoded token and get the identity information for your app

  • @amit2197kumar
    @amit2197kumar 3 หลายเดือนก่อน

    Great explanation. Thanks

  • @deepakdonde9199
    @deepakdonde9199 ปีที่แล้ว

    Thanks for the simple explanation.

    • @jgoebel
      @jgoebel  ปีที่แล้ว

      Glad it was helpful!

  • @AliRaza-zy1zk
    @AliRaza-zy1zk ปีที่แล้ว

    Brilliant and very simple explanation ☺️

    • @jgoebel
      @jgoebel  ปีที่แล้ว +1

      Glad it helped!

  • @saravanasai2391
    @saravanasai2391 7 หลายเดือนก่อน

    Great explanation.

    • @jgoebel
      @jgoebel  7 หลายเดือนก่อน

      Glad you liked it

  • @vk2875
    @vk2875 2 ปีที่แล้ว

    Excellent video and amazing content details explanation, it really helped a lot in clarifying the concepts.

    • @jgoebel
      @jgoebel  2 ปีที่แล้ว

      Glad you enjoyed it!

  • @MrVitalirapalis
    @MrVitalirapalis ปีที่แล้ว

    Very good explained!!!

    • @jgoebel
      @jgoebel  ปีที่แล้ว

      Glad you liked it

  • @manideepkumar959
    @manideepkumar959 8 หลายเดือนก่อน

    i got basic idea, but not so clear, i need the example of open id authorization

  • @ernestbrant
    @ernestbrant 2 ปีที่แล้ว

    Great Video 🙂

    • @jgoebel
      @jgoebel  2 ปีที่แล้ว

      Thanks! 🙂

  • @ruocaled
    @ruocaled 6 หลายเดือนก่อน

    So you're saying it's just for displaying something immediately on the callback UI to reduce API calls? seems pretty pointless unless it's does something else.

    • @jgoebel
      @jgoebel  5 หลายเดือนก่อน

      It tells you who the end user is. OAuth only tells you what the end user can do

  • @abdelrhmansaeed4104
    @abdelrhmansaeed4104 2 ปีที่แล้ว

    great video, but a question:
    what if my app uses stateless authentication with jwt, and has single sign on feature that uses gmail to authenticate, i just don't know, does the app use the gmail's generated jwt instead of its own jwt ?
    and how do i keep the user signed in, do i store the access token in a cookie ? or is that even safe ?

    • @jgoebel
      @jgoebel  2 ปีที่แล้ว

      it depends how you use the Login with Google functionality and whether you have a backend. If you don't have a backend, well then you need to store the JWT somewhere in the FE, even though that's less secure.
      Most of the time you will probably have a backend. Theoretically you could put the ID token in an in an HTTPOnly, Secure cookie and pass it to the FE and then validate the signature when the cookie comes to the backend. Putting it in a cookie is certainly more secure than just returning it as a response. However, validating the signature with the Google public key on your backend would not be enough, you would also need to validate the aud claim for example. Otherwise anyone who would have a valid ID token for a user (e.g. a third party app) could impersonate the user. There are also a couple of other issues:
      1. JWTs do not make good session tokens and you would need server side state on your app or you would need to hit the token introspection endpoint for every request to make sure that you can log someone out from the server side. I made a dedicated video why JWTs do not make good session tokens.
      2. you do not have control over how long the ID token is valid
      3. If you use the ID token as session token, you would not be able to add any session data in the token because only Google has the private key. If you want to add your own data, then you would need to sign your own JWT. But again, JWT are actually not well suited for session tokens.
      If you have your own session storage or issues JWTs from your server, you can make the session as long as you want. If you actually need to access a specific Google API, then you need a refresh token, but if you use Google to only get the email address of the user (thereby avoiding that you need to store a password), then you probably don't need a refresh token

  • @ryans5476
    @ryans5476 ปีที่แล้ว

    I'm a little confused with your explanation. Typically, authentication precedes authorization. I cannot authorize someone unless I know who they are, i.e. authenticated.

    • @jgoebel
      @jgoebel  ปีที่แล้ว +1

      You can authorize actions without knowing who the person is. E.g. if you have a hotel card that gives you access to the gym or the spa, then the door you hold the card against does not know who you are, it just knows that you have access to this room. Now ideally the door would also log who you are, but strictly speaking not required. I.e. you can enforce authorization without authentication and this is what OAuth does (OAuth = Open Authorization)

  • @avengerendgame9809
    @avengerendgame9809 2 ปีที่แล้ว

    Help me

  • @avengerendgame9809
    @avengerendgame9809 2 ปีที่แล้ว

    Open id