认证授权
概述
系统采用 JWT Token 认证方案,基于 OAuth2 协议实现。用户端认证入口为 AppAuthController(路径前缀 /member/auth/),支持多种登录方式。
认证流程
用户发起登录请求
↓
后端校验凭据(手机号+密码 / 验证码 / 社交授权码)
↓
创建 OAuth2 AccessToken + RefreshToken
↓
返回 { accessToken, refreshToken, openid }
↓
前端保存 Token 到本地存储
↓
后续请求在 Header 中携带 Authorization: Bearer {accessToken}
登录方式
1. 手机号 + 密码登录
接口:POST /app-api/member/auth/login
// 请求体
{
"mobile": "13800138000",
"password": "123456",
"socialType": null, // 可选,同时绑定社交账号
"socialCode": null,
"socialState": null
}
处理流程:
- 根据手机号查找用户
- 校验密码(BCrypt 加密比对)
- 若
socialType非空,同时绑定社交用户 - 创建 Token 令牌
- 记录登录日志
2. 手机号 + 验证码登录
发送验证码:POST /app-api/member/auth/send-sms-code
{ "mobile": "13800138000" }
验证码登录:POST /app-api/member/auth/sms-login
{
"mobile": "13800138000",
"code": "1234",
"loginType": 10, // 10=普通验证码登录,20=一键快捷登录
"socialType": null, // 可选
"socialCode": null,
"socialState": null
}
处理流程:
- 校验短信验证码(测试号
18612982956跳过验证) - 自动创建用户(如不存在)
- 校验用户状态(是否被禁用)
- 创建 Token 令牌