Why do we need OpenID Connect (OIDC) on top of OAuth 2.0 to get user information? Why didn’t OAuth 2.0 itself handle user authentication and profile fetching (like email)? Couldn’t OAuth have just added its own variables/scopes to support it? OAuth 2.0 was never designed for auth entication, only authorization.So, OAuth doesn’t define how to return user identity in a secure, standard way. That's mean: No standard for id_token (JWT), No standard for /userinfo endpoint. But If we want, we can build our own identity solution on OAuth alone (to get user information), but: There would be no standard token format, No standard way to verify the user's identity, High risk of doing it wrong (and creating security holes). That’s why OpenID Connect exists — to make authentication safe, easy, and interoperable. OpenID Connect was created to safely and consistently add authentication and user identity on top of OAuth. OpenID handle: 1. Standardized id_token Format ...