fix(account): 将删除账号接口从GET改为POST方法
Build docker and publish / build (20.15.1) (push) Successful in 6m55s
Build docker and publish / build (20.15.1) (push) Successful in 6m55s
修复删除账号接口的安全问题,GET方法不应用于敏感操作 同时增加邮箱验证码校验,提高账号安全性 ``` ```msg feat(auth): 在设备登录时更新用户代理信息 添加设备登录时更新用户代理(UA)的逻辑 确保设备信息保持最新状态 ``` ```msg refactor(handler): 重构删除账号处理器的验证逻辑 将邮箱验证码校验逻辑提取为独立函数 提高代码可维护性和复用性
This commit is contained in:
@@ -43,6 +43,7 @@ func (l *DeviceLoginLogic) DeviceLogin(req *types.DeviceLoginRequest) (resp *typ
|
||||
var userInfo *user.User
|
||||
// Record login status
|
||||
defer func() {
|
||||
|
||||
if userInfo != nil && userInfo.Id != 0 {
|
||||
loginLog := log.Login{
|
||||
Method: "device",
|
||||
@@ -95,6 +96,16 @@ func (l *DeviceLoginLogic) DeviceLogin(req *types.DeviceLoginRequest) (resp *typ
|
||||
}
|
||||
}
|
||||
|
||||
// 根据 req 中的UA 更新UA
|
||||
deviceInfo.UserAgent = req.UserAgent
|
||||
if err := l.svcCtx.UserModel.UpdateDevice(l.ctx, deviceInfo); err != nil {
|
||||
l.Errorw("update user agent failed",
|
||||
logger.Field("device_id", deviceInfo.Id),
|
||||
logger.Field("error", err.Error()),
|
||||
)
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "update user agent failed: %v", err.Error())
|
||||
}
|
||||
|
||||
// Generate session id
|
||||
sessionId := uuidx.NewUUID().String()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user