|
@@ -30,9 +30,18 @@ type PathPattern struct {
|
|
}
|
|
}
|
|
|
|
|
|
var (
|
|
var (
|
|
- signingKey = []byte("secret")
|
|
|
|
- store = sessions.NewCookieStore([]byte("something-very-secret"))
|
|
|
|
- jwtMiddleware = jwtmiddleware.New(jwtmiddleware.Options{
|
|
|
|
|
|
+ signingKey = []byte("secret")
|
|
|
|
+ store = sessions.NewCookieStore([]byte("something-very-secret"))
|
|
|
|
+ jwtCookie = jwtmiddleware.New(jwtmiddleware.Options{
|
|
|
|
+ ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
|
|
|
|
+ return signingKey, nil
|
|
|
|
+ },
|
|
|
|
+ SigningMethod: jwt.SigningMethodHS256,
|
|
|
|
+ Extractor: fromCookie,
|
|
|
|
+ ErrorHandler: onError,
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ jwtHeader = jwtmiddleware.New(jwtmiddleware.Options{
|
|
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
|
|
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
|
|
return signingKey, nil
|
|
return signingKey, nil
|
|
},
|
|
},
|
|
@@ -61,7 +70,12 @@ var (
|
|
// Generate CRUD handlers
|
|
// Generate CRUD handlers
|
|
func generateHandler(r *mux.Router, base string) {
|
|
func generateHandler(r *mux.Router, base string) {
|
|
for _, pattern := range patterns {
|
|
for _, pattern := range patterns {
|
|
- r.Handle(fmt.Sprintf(pattern.Path, base), jwtMiddleware.Handler(recoverHandler(modelHandler(base, fmt.Sprintf(pattern.Path, base), pattern.RedirectPath)))).Methods(pattern.Methods...)
|
|
|
|
|
|
+ r.Handle(
|
|
|
|
+ fmt.Sprintf(pattern.Path, base),
|
|
|
|
+ jwtCookie.Handler(recoverHandler(modelHandler(
|
|
|
|
+ base,
|
|
|
|
+ fmt.Sprintf(pattern.Path, base),
|
|
|
|
+ pattern.RedirectPath)))).Methods(pattern.Methods...)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -81,7 +95,7 @@ func Handlers() *mux.Router {
|
|
|
|
|
|
// Dashboard
|
|
// Dashboard
|
|
|
|
|
|
- r.Handle("/", jwtMiddleware.Handler(recoverHandler(dashboardHandler())))
|
|
|
|
|
|
+ r.Handle("/", jwtCookie.Handler(recoverHandler(dashboardHandler())))
|
|
|
|
|
|
// Generate model handlers
|
|
// Generate model handlers
|
|
|
|
|