Skip to content

[Security] Add token-based authentication (JWT) #4

Description

@lechan775

Problem

当前所有 API 通过 URL 参数 ?userId= 进行用户身份识别,存在严重安全隐患:

  • 任意用户可通过篡改 userId 参数访问他人数据
  • 无登录态过期机制
  • 无 Token 刷新/撤销机制

Proposed Solution

引入 JWT (JSON Web Token) 认证:

  1. 登录/注册成功后返回 access_token + refresh_token
  2. 前端 ApiService 在请求头添加 Authorization: Bearer <token>
  3. 后端 Spring Interceptor / Filter 校验 Token 并注入当前用户
  4. Controller 方法改用 @CurrentUser 注解获取用户,不再从参数取 userId

References

  • jjwt library
  • 建议 Token 有效期:access 15min / refresh 7d

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions