Objective
Implement CSRF protection for state-changing requests.
Implementation
import "github.com/utrack/gin-csrf"
router.Use(csrf.Middleware(csrf.Options{
Secret: "secret-key",
ErrorFunc: func(c *gin.Context) {
c.AbortWithStatus(403)
},
}))
Acceptance Criteria
Files
api/internal/middleware/csrf.go (NEW)
ui/src/api/client.ts (update)
Objective
Implement CSRF protection for state-changing requests.
Implementation
Acceptance Criteria
Files
api/internal/middleware/csrf.go(NEW)ui/src/api/client.ts(update)