github.com/googlecloudplatform/kubernetes-workshops@v0.0.0-20180501174420-d8199445b2c3/bundles/kubernetes-101/workshop/app/handlers/jwt.go (about) 1 package handlers 2 3 import ( 4 "net/http" 5 6 "github.com/dgrijalva/jwt-go" 7 ) 8 9 func JWTAuthHandler(h http.HandlerFunc) http.HandlerFunc { 10 return func(w http.ResponseWriter, r *http.Request) { 11 token, err := jwt.ParseFromRequest(r, func(token *jwt.Token) (interface{}, error) { 12 return []byte("secret"), nil 13 }) 14 if err != nil || !token.Valid { 15 http.Error(w, "authorization failed", http.StatusUnauthorized) 16 return 17 } 18 h(w, r) 19 } 20 }