u
This commit is contained in:
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()
|
||||
|
||||
Reference in new issue
Block a user