What
The API issues JWT tokens with a 24-hour expiry but lacks a refresh token mechanism, requiring users to re-authenticate when tokens expire.
Why
- 24-hour tokens force users to reconnect their wallet frequently
- No way to extend sessions without full re-authentication
- Poor user experience for active users
Scope
Implement refresh token flow:
- Issue refresh token alongside access token
- Add
/auth/refresh endpoint
- Frontend stores and uses refresh tokens
Acceptance Criteria
Technical Context
- API files:
src/modules/auth/, src/config/index.ts
- Frontend files:
src/lib/api/auth.ts (has refreshToken function), src/lib/api/client.ts
- Current: Only access token with 24h expiry
- Database: May need refresh_tokens table
What
The API issues JWT tokens with a 24-hour expiry but lacks a refresh token mechanism, requiring users to re-authenticate when tokens expire.
Why
Scope
Implement refresh token flow:
/auth/refreshendpointAcceptance Criteria
POST /auth/refreshendpoint accepts refresh token and returns new access tokenTechnical Context
src/modules/auth/,src/config/index.tssrc/lib/api/auth.ts(hasrefreshTokenfunction),src/lib/api/client.ts