YueGuobin 0e8d0cb87b
Add stateless JWT refresh token mechanism
- New config: Controller.jwt_refresh_token_expire_minutes (default 30 days)
- New endpoint: POST /v3/access/users/refresh (public, unauthenticated)
- Login/authenticate responses now include refresh_token
- AuthService: _create_token helper, create_refresh_token, get_token_data
  now parses type claim (token_use) for token classification
- Security: refresh tokens rejected on HTTP + WebSocket access paths;
  /refresh strictly requires type=='refresh'
- Logout works for free via existing token_version mechanism
- Tests: 9 new TestRefreshToken cases, all passing; 34 existing tests
  still pass (no regressions)
2026-06-23 22:39:11 +08:00
..
2026-03-12 14:18:35 +08:00
2023-08-04 18:20:06 +10:00
2023-08-04 18:20:06 +10:00
2023-08-04 18:20:06 +10:00
2026-02-23 23:26:42 +08:00
2023-09-07 17:31:11 +07:00
2026-04-11 19:54:49 +08:00