This commit is contained in:
oneao committed 2025-11-06 17:32:51 +08:00
1 parent 6849579652
commit d60be4a75b
24 files changed
+463 -179

No files matched your search

@@ -13,18 +13,48 @@ func InitAuthRouter(r *router.Router) {
group := r.Group("auth")
group.POST("/login/default", loginDefault)
group.POST("/register/default", registerDefault)
group.POST("/refresh/token", RefreshAccessToken)
}
//func RefreshToken(c *router.Context) error {
// _, err := c.GetBodyWithRequired("accessToken", "refreshToken")
// if err != nil {
// return err
// }
// //accessToken := bodyData.GetString("accessToken")
// //refreshToken := bodyData.GetString("refreshToken")
//}
func RefreshAccessToken(c *router.Context) error {
// 从 Header 获取 Refresh Token
refreshToken := c.Header("refreshToken")
if refreshToken == "" {
return response.Fail(c).
Code(response.HttpCode.Unauthorized).
Message("未提供 Token").
Send()
}
// 验证 Refresh Token
tokenResult := jwtx.VerifyToken(refreshToken)
if !tokenResult.IsValid || tokenResult.IsExpired {
// Refresh Token 无效或过期,需要重新登录
return response.Fail(c).
Code(response.HttpCode.Unauthorized).
Message("登录已过期,请重新登录").
Send()
}
userID := tokenResult.Claims.UserID
// 生成新的 Access Token
newAccessToken, err := jwtx.CreateAccessToken(userID)
if err != nil {
return err
}
// 返回新的 Access Token
respData := map[string]string{
"accessToken": newAccessToken,
}
return response.Success(c).
Data(respData).
Send()
}
// 默认登录
// 默认登录
func loginDefault(c *router.Context) error {
// 获取请求体并校验必填字段
@@ -43,13 +73,12 @@ func loginDefault(c *router.Context) error {
)
user, err := db.FindOne("user_info", userQuery)
if err != nil {
return response.Success(c).Message("查询用户失败,请稍后重试").IsSuccess(false).Send()
return response.Success(c).Message("查询用户失败,请稍后重试").Send()
}
if user == nil {
// 账号或密码错误
return response.Success(c).
IsSuccess(false).
return response.Fail(c).
Message("账号或密码错误").
Send()
}
@@ -99,7 +128,7 @@ func registerDefault(c *router.Context) error {
}
if len(existingUsers) > 0 {
return response.Error(c).IsSuccess(false).Message("该账号已被注册").Send()
return response.Fail(c).Message("该账号已被注册").Send()
}
// 构造新用户数据
@@ -115,7 +144,7 @@ func registerDefault(c *router.Context) error {
return err
}
if insertedRows != 1 {
return response.Success(c).IsSuccess(false).Message("注册失败").Send()
return response.Fail(c).Message("注册失败").Send()
}
return response.Success(c).Message("注册成功").Send()