Posts

Showing posts with the label Auth

Best Practices for Access, ID, and Refresh Tokens

 When building modern applications with OAuth 2.0 and OpenID Connect, developers often get confused about where to store tokens . This decision is crucial because storing them incorrectly can open doors to serious vulnerabilities like XSS or CSRF attacks. Let’s break it down. Understanding the Tokens Access Token → Proves what you can do . It authorizes the client to call APIs on behalf of the user. ID Token → Proves who you are . It carries identity information (name, email, roles) about the authenticated user. Refresh Token (optional) → Used to obtain new access tokens without making the user log in again. Each token has a different lifespan and security sensitivity, so the storage strategy must match the risk. Storage on the User Side (Frontend) 1. Web Applications Best practice : Keep tokens in memory (JavaScript variables). Safer persistence : Use HTTP-only, Secure cookies if tokens must survive page reloads. Avoid : localStorage and sessionStorage for...