middleware.go 511 B

12345678910111213141516171819202122232425
  1. package main
  2. import (
  3. "github.com/dgrijalva/jwt-go"
  4. "github.com/labstack/echo"
  5. "github.com/labstack/echo/middleware"
  6. )
  7. var isLoggedIn = middleware.JWTWithConfig(middleware.JWTConfig{
  8. SigningKey: []byte("secret"),
  9. })
  10. func isAdmin(next echo.HandlerFunc) echo.HandlerFunc {
  11. return func(c echo.Context) error {
  12. user := c.Get("user").(*jwt.Token)
  13. claims := user.Claims.(jwt.MapClaims)
  14. isAdmin := claims["admin"].(bool)
  15. if isAdmin == false {
  16. return echo.ErrUnauthorized
  17. }
  18. return next(c)
  19. }
  20. }