OAuth is an authorization framework that allows third-party applications to access user data without exposing credentials. JWT, or JSON Web Token, is a compact token format that can be used to securely transmit information between parties as a JSON object, often used in OAuth implementations to convey user identity.
In depth
OAuth is primarily focused on authorization, enabling third-party applications to obtain limited access to user accounts on an HTTP service, such as granting access to a user's information without sharing their password. It involves redirecting users to a service provider to grant permissions and then returning an access token to the application. JWT, on the other hand, is a token format that is used to represent claims securely between two parties. It can be signed or encrypted to verify the authenticity of the transferred data. JWT can be used as an access token in the OAuth flow, containing user identity and scopes, allowing the server to validate requests efficiently without needing to store session state on the server side, enhancing scalability and performance. Both concepts are often used together where OAuth manages the authorization, and JWT is the method of token exchange.
Example scenario
In a marketplace application, when a user logs in with Google, OAuth might be utilized to authorize access to their profile information. The application will then receive a JWT that includes details like the user ID and permissions. This token is sent with every API request to authenticate the user and ensure they can only access resources they are entitled to, without needing to manage session states on the server.
Common mistakes
A common mistake is confusing OAuth with JWT, thinking that they serve the same purpose when they fulfill different roles. OAuth is about authorization, while JWT is a token format used within that context. Another mistake is not validating the JWT properly, leaving applications vulnerable to attacks; all JWTs should be signed and verified to ensure they haven't been tampered with. Developers also often neglect to set expiration times on JWTs, increasing security risks if a token is stolen.
Follow-up questions
- How do you implement token expiration in JWTs?
- What measures can you take to secure JWTs against common vulnerabilities?
- Can you explain how you would refresh an expired token in an OAuth flow?
- How does the use of scopes in OAuth affect permissions for different API endpoints?

Want all 2,000 questions in one PDF?
- Short answers, in-depth explanations, common mistakes and follow-ups
- 89 topics, from Beginner to Architect, with a clickable contents list
- 226 extra questions that are not on this website
- Free Bonus Pack: 30-day study plan, behavioral questions, salary scripts
Includes 226 extra questions that are not on this site, plus a free Bonus Pack.
Get both books for $9.99 (save $2.99):
The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.