Skip to content

[SECURITY] Add CSRF Protection #167

@JoshuaAFerguson

Description

@JoshuaAFerguson

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

  • CSRF tokens required for POST/PUT/DELETE
  • Tokens in cookies or headers
  • UI updated to send tokens
  • Tests pass

Files

  • api/internal/middleware/csrf.go (NEW)
  • ui/src/api/client.ts (update)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions