summaryrefslogtreecommitdiff
path: root/app/middleware
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-30 18:20:28 -0600
committermo khan <mo@mokhan.ca>2025-04-30 18:20:28 -0600
commitd3cb17f8032d95f0f8805a0ce74fe5fc41714bb8 (patch)
treeb3a3dc15aeb344cd727e95cef28d80802f819887 /app/middleware
parenta372feb94ba1dfe119f2b350b77302a243ab17f2 (diff)
fix: strict same site mode breaks redirects
Diffstat (limited to 'app/middleware')
-rw-r--r--app/middleware/require_user.go2
-rw-r--r--app/middleware/require_user_test.go6
2 files changed, 3 insertions, 5 deletions
diff --git a/app/middleware/require_user.go b/app/middleware/require_user.go
index 8f54a04..d0d5355 100644
--- a/app/middleware/require_user.go
+++ b/app/middleware/require_user.go
@@ -10,7 +10,7 @@ func RequireUser() func(http.Handler) http.Handler {
if IsLoggedIn(r) {
next.ServeHTTP(w, r)
} else {
- http.Redirect(w, r, "/", http.StatusFound)
+ w.WriteHeader(http.StatusNotFound)
}
})
}
diff --git a/app/middleware/require_user_test.go b/app/middleware/require_user_test.go
index 794f347..92734b2 100644
--- a/app/middleware/require_user_test.go
+++ b/app/middleware/require_user_test.go
@@ -4,7 +4,6 @@ import (
"net/http"
"testing"
- "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/cfg"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/domain"
@@ -15,7 +14,7 @@ func TestRequireUser(t *testing.T) {
middleware := RequireUser()
t.Run("when a user is not logged in", func(t *testing.T) {
- t.Run("redirects to the homepage", func(t *testing.T) {
+ t.Run("returns a 404 status", func(t *testing.T) {
r, w := test.RequestResponse("GET", "/example")
server := middleware(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -23,8 +22,7 @@ func TestRequireUser(t *testing.T) {
}))
server.ServeHTTP(w, r)
- require.Equal(t, http.StatusFound, w.Code)
- assert.Equal(t, "/", w.Header().Get("Location"))
+ require.Equal(t, http.StatusNotFound, w.Code)
})
})