Skip CSRF for embeds (#402)

* Skip CSRF for embeds

The CSRF middleware sets a _csrf cookie also for loading the embed
javascript on third-party sites. With this change no _csrf cookie is set
when loading the embed javascript (regardless if third-party site or
first-party).
This commit is contained in:
Andreas Jaggi
2025-01-20 02:18:45 +01:00
committed by GitHub
parent f935ee1a7e
commit a752e0561d

View File

@ -58,6 +58,11 @@ func (s *Server) registerMiddlewares() {
CookiePath: "/",
CookieHTTPOnly: true,
CookieSameSite: http.SameSiteStrictMode,
Skipper: func(ctx echo.Context) bool {
/* skip CSRF for embeds */
gistName := ctx.Param("gistname")
return filepath.Ext(gistName) == ".js"
},
}))
s.echo.Use(Middleware(csrfInit).toEcho())
}