I'm trying to a the token to verify the user role but I get an error:
interface conversion: interface {} is nil, not *jwt.Token
I did something similar requesting the user ID and it worked but here I can't seem to get the token.
Code:
func AdminRoutes(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
u := c.Get("user").(*jwt.Token)
claims := u.Claims.(jwt.MapClaims)
for _, item := range routes[claims["role"].(string)] {
if c.Request().RequestURI == item && claims["role"] != "admin" {
return c.JSON(http.StatusUnauthorized, "Role not suitable for function.")
}
}
return next(c)
}
}
I've tried to c.Set()
the token but c.Get()
doesn't work after.