Skip to content

Commit f7d6c24

Browse files
committed
feat: fixes
1 parent e16a704 commit f7d6c24

File tree

3 files changed

+31
-19
lines changed

3 files changed

+31
-19
lines changed

pkg/controller/auth.go

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -565,25 +565,10 @@ func UpdatePassword(c echo.Context) error {
565565
}
566566

567567
func RefreshToken(c echo.Context) error {
568-
refreshToken, err := c.Cookie("refresh_token")
569-
if err != nil {
570-
logger.Errorf(logger.InternalError, err.Error())
571-
return c.JSON(http.StatusUnauthorized, &models.Response{
572-
Status: "fail",
573-
Message: "Refresh token not found",
574-
})
575-
}
576-
577-
refreshClaims, err := utils.ValidateRefreshToken(refreshToken.Value)
578-
if err != nil {
579-
logger.Errorf(logger.InternalError, err.Error())
580-
return c.JSON(http.StatusUnauthorized, &models.Response{
581-
Status: "fail",
582-
Message: "Invalid refresh token",
583-
})
584-
}
568+
refToken = c.Get("user").(*jwt.Token)
569+
claims := refToken.Claims.(*utils.JWTClaims)
585570

586-
token, err := utils.GenerateToken(&refreshClaims.UserID, false)
571+
token, err := utils.GenerateToken(&claims.UserID, false)
587572
if err != nil {
588573
logger.Errorf(logger.InternalError, err.Error())
589574
return c.JSON(http.StatusInternalServerError, &models.Response{

pkg/middleware/jwt.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,30 @@ func JWTMiddleware() echo.MiddlewareFunc {
5959

6060
return echojwt.WithConfig(config)
6161
}
62+
63+
func CheckRefresh() echo.MiddlewareFunc {
64+
config := echojwt.Config{
65+
SigningKey: []byte(utils.Config.JwtSecret),
66+
TokenLookup: "cookie:refresh_token",
67+
ErrorHandler: func(c echo.Context, err error) error {
68+
fmt.Println(err)
69+
if err == echojwt.ErrJWTMissing {
70+
return c.JSON(http.StatusUnauthorized, &models.Response{
71+
Status: "fail",
72+
Data: map[string]string{
73+
"error": "Missing or malformed JWT",
74+
},
75+
})
76+
}
77+
78+
return c.JSON(http.StatusUnauthorized, &models.Response{
79+
Status: "fail",
80+
Data: map[string]string{
81+
"error": "Invalid or expired token",
82+
},
83+
})
84+
},
85+
}
86+
87+
return echojwt.WithConfig(config)
88+
}

pkg/router/idea_routes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ func IdeaRoutes(incomingRoutes *echo.Echo) {
1313

1414
idea.POST("/create", controller.CreateIdea)
1515
idea.PUT("/update/:id", controller.UpdateIdea)
16-
idea.GET("", controller.GetIdea)
16+
idea.GET("/", controller.GetIdea)
1717
}

0 commit comments

Comments
 (0)