File tree Expand file tree Collapse file tree 3 files changed +31
-19
lines changed
Expand file tree Collapse file tree 3 files changed +31
-19
lines changed Original file line number Diff line number Diff line change @@ -565,25 +565,10 @@ func UpdatePassword(c echo.Context) error {
565565}
566566
567567func 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 {
Original file line number Diff line number Diff 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+ }
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments