5b3130ea9c
Compute refresh token expiry fresh on each sign-in
...
The expiry date was computed once at store init time and went stale
in long-running SPA sessions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 17:49:14 +08:00
eea79c852b
Fix open redirect vulnerability in return-to URL after login
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 08:13:12 +08:00
7fec6cb63f
Add JSDoc documentation and file headers to all source files
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:57:58 +08:00
a619be7881
Convert all store files from JavaScript to TypeScript
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 14:47:57 +08:00
90048d0505
Standardize store exports to named useXxxStore convention
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 13:25:00 +08:00
147b16ca34
Add centralized API client with axios interceptors, remove vue-axios
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 12:44:33 +08:00
954b41b555
Add Secure and SameSite=Lax flags to all cookie operations
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:51:14 +08:00
2768b5d052
Fix refreshToken() undefined config, wrong axios.defaults, and missing re-throw
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:40:48 +08:00
43283aab95
Fix expired calculation to be 6 months from now instead of setting to June
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:39:52 +08:00
529e9a4aa1
Add store tests with mocked axios and apiError
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 19:30:33 +08:00