diff --git a/internal/api/middleware.go b/internal/api/middleware.go index 3b56f59d1..5cc25d94d 100644 --- a/internal/api/middleware.go +++ b/internal/api/middleware.go @@ -181,6 +181,11 @@ func (a *API) isValidAuthorizedEmail(w http.ResponseWriter, req *http.Request) ( return ctx, nil } + // skip checking for authorized email addresses if it's a POST request to /generate_link + if req.URL.Path == "/generate_link" && req.Method == http.MethodPost { + return ctx, nil + } + var body struct { Email string `json:"email"` } diff --git a/internal/api/middleware_test.go b/internal/api/middleware_test.go index 7056d91dd..c2f46da6b 100644 --- a/internal/api/middleware_test.go +++ b/internal/api/middleware_test.go @@ -531,6 +531,13 @@ func (ts *MiddlewareTestSuite) TestIsValidAuthorizedEmail() { "email": "test@example.com", }, }, + { + desc: "bypass check for generate_link endpoint", + reqPath: "/generate_link", + body: map[string]interface{}{ + "email": "test@example.com", + }, + }, { desc: "bypass check if no email in request body", reqPath: "/signup",