cloudwego/hertz-examples

关于tiktok_demo中,用户服务注册登陆接口handler逻辑问题

YxYL6125 opened this issue · 2 comments

Describe the bug
tiktok_demo中,用户服务注册登陆接口handler逻辑问题
To Reproduce

  1. 代码位置在:
    bizdemo/tiktok_demo/biz/handler/user/user_handler.go:59 —— 84
  2. 在insert过后,应该是直接返回resp吧
    下面的
jwt.JwtMiddleware.LoginHandler(ctx, c)
	token := c.GetString("token")
	v, _ := c.Get("user_id")
	user_id := v.(int64)
	c.JSON(consts.StatusOK, user.DouyinUserRegisterResponse{
		StatusCode: errno.SuccessCode,
		StatusMsg:  errno.SuccessMsg,
		Token:      token,
		UserId:     user_id,
	})

应该是放在login的handler逻辑里面,来执行jwt的拦截

// UserLogin .
// @router /user/login/ [POST]
func UserLogin(ctx context.Context, c *app.RequestContext) {
	jwt.JwtMiddleware.LoginHandler(ctx, c)
	token := c.GetString("token")
	v, _ := c.Get("user_id")
	user_id := v.(int64)
	c.JSON(consts.StatusOK, user.UserRegisterResponse{
		StatusCode: errno.SuccessCode,
		StatusMsg:  errno.SuccessMsg,
		Token:      token,
		UserId:     user_id,
	})
}

在register中的调用LoginHandler是为了临时通过jwt获取有效token,以便在正确注册后返回response;
需要鉴权的路由,在进入handler层之前已经过jwt拦截,详细调用链路可以查看Hertz中的router。
@YxYL6125