OpenID Connect vs OAuth | OpenID Connect explained

  Рет қаралды 37,058

Jan Goebel

Jan Goebel

Күн бұрын

🔥More exclusive content: productioncoder.com/you-decid...
Twitter: / _jgoebel
Website: jangoebel.com
Blog: productioncoder.com
00:00 What is OpenID Connect and how does it relate to OAuth?
00:50 OAuth does not provide identity information to the third party application
03:14 A practical OpenID Connect example
04:00 Scopes for OpenID Connect
07:17 OpenID Connect Identity tokens
08:41 Conclusion
This video explains what OpenID Connect (OIDC) is and how it relates to OAuth. OpenID Connect is a thin identity layer on top of OAuth that provides authentication details about end users. OAuth is all about giving third party applications limited access to HTTP resources. To give access to HTTP resources, identity information is not required.
However, for some type of apps, it is actually very useful to know at least a little bit about the user (like the email or profile information). This is where OpenID Connect comes in. During the OAuth flow, the third party application requests the additional openid scope and specific standardizes scopes by OpenID Connect. When the access is granted by the end user, the application not only receives an access token, but also receives an identity token (id token). The id token is a JSON Web Token (JSON Web Signature Token) that contains information about the end user. Third party application can ask for predefined scopes like email or profile information.
The information in the id token from OpenID Connect can then be used to provide a better user experience.

Пікірлер: 30
@NadimAJ
@NadimAJ Жыл бұрын
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!
@SomosExperiencia
@SomosExperiencia Жыл бұрын
Great explanation and very useful for no.coders PMs and POs. Thank you for sharing!
@shashankvivek4812
@shashankvivek4812 Жыл бұрын
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
@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!
@deepakdonde9199
@deepakdonde9199 11 ай бұрын
Thanks for the simple explanation.
@jgoebel
@jgoebel 11 ай бұрын
Glad it was helpful!
@AliRaza-zy1zk
@AliRaza-zy1zk Жыл бұрын
Brilliant and very simple explanation ☺️
@jgoebel
@jgoebel Жыл бұрын
Glad it helped!
@MrVitalirapalis
@MrVitalirapalis Жыл бұрын
Very good explained!!!
@jgoebel
@jgoebel Жыл бұрын
Glad you liked it
@6s6
@6s6 2 жыл бұрын
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 2 жыл бұрын
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 7 ай бұрын
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 7 ай бұрын
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
@ernestbrant
@ernestbrant 2 жыл бұрын
Great Video 🙂
@jgoebel
@jgoebel 2 жыл бұрын
Thanks! 🙂
@saravanasai2391
@saravanasai2391 3 ай бұрын
Great explanation.
@jgoebel
@jgoebel 3 ай бұрын
Glad you liked it
@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
@manideepkumar959
@manideepkumar959 4 ай бұрын
i got basic idea, but not so clear, i need the example of open id authorization
@ruocaled
@ruocaled 2 ай бұрын
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 Ай бұрын
It tells you who the end user is. OAuth only tells you what the end user can do
@avengerendgame9809
@avengerendgame9809 2 жыл бұрын
Help me
@ryans5476
@ryans5476 8 ай бұрын
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 8 ай бұрын
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 жыл бұрын
Open id
Everything You Ever Wanted to Know About OAuth and OIDC
33:21
OAuth and OpenID Connect - Know the Difference
10:18
Viraj Shetty
Рет қаралды 2,6 М.
Little girl's dream of a giant teddy bear is about to come true #shorts
00:32
🤔Какой Орган самый длинный ? #shorts
00:42
УГАДАЙ ГДЕ ПРАВИЛЬНЫЙ ЦВЕТ?😱
00:14
МЯТНАЯ ФАНТА
Рет қаралды 3,7 МЛН
OAuth Authorization code flow
11:49
Jan Goebel
Рет қаралды 50 М.
OAuth 2 Token Introspection
8:07
Jan Goebel
Рет қаралды 7 М.
An Illustrated Guide to OAuth and OpenID Connect
16:36
OktaDev
Рет қаралды 568 М.
OAuth 2.0 & OpenID Connect (OIDC): Technical Overview
16:19
VMware End-User Computing
Рет қаралды 153 М.
oAuth and OpenID connect | Most confusing topic in plain english
31:11
Difference between cookies, session and tokens
11:53
Valentin Despa
Рет қаралды 604 М.
OAuth 2.0 - a dead simple explanation
9:16
Jan Goebel
Рет қаралды 16 М.
SAML vs OAuth vs OIDC (explained simply!)
20:32
Ubisecure
Рет қаралды 55 М.
Little girl's dream of a giant teddy bear is about to come true #shorts
00:32