refactor: only use 302 redirects

This commit is contained in:
Stavros
2025-06-01 17:16:22 +03:00
parent f2c81b6a5c
commit bc0a38a857

View File

@@ -89,7 +89,7 @@ func (h *Handlers) AuthHandler(c *gin.Context) {
return return
} }
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -108,7 +108,7 @@ func (h *Handlers) AuthHandler(c *gin.Context) {
return return
} }
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -173,12 +173,12 @@ func (h *Handlers) AuthHandler(c *gin.Context) {
// Handle error (no need to check for nginx/headers since we are sure we are using caddy/traefik) // Handle error (no need to check for nginx/headers since we are sure we are using caddy/traefik)
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to build queries") log.Error().Err(err).Msg("Failed to build queries")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
// We are using caddy/traefik so redirect // We are using caddy/traefik so redirect
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode())) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode()))
return return
} }
@@ -220,12 +220,12 @@ func (h *Handlers) AuthHandler(c *gin.Context) {
// Handle error (no need to check for nginx/headers since we are sure we are using caddy/traefik) // Handle error (no need to check for nginx/headers since we are sure we are using caddy/traefik)
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to build queries") log.Error().Err(err).Msg("Failed to build queries")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
// We are using caddy/traefik so redirect // We are using caddy/traefik so redirect
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode())) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode()))
return return
} }
} }
@@ -266,7 +266,7 @@ func (h *Handlers) AuthHandler(c *gin.Context) {
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to build queries") log.Error().Err(err).Msg("Failed to build queries")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -610,7 +610,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Handle error // Handle error
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to bind URI") log.Error().Err(err).Msg("Failed to bind URI")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -624,7 +624,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
if err != nil { if err != nil {
log.Debug().Msg("No CSRF cookie") log.Debug().Msg("No CSRF cookie")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -633,7 +633,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Check if CSRF cookie is valid // Check if CSRF cookie is valid
if csrfCookie != state { if csrfCookie != state {
log.Warn().Msg("Invalid CSRF cookie or CSRF cookie does not match with the state") log.Warn().Msg("Invalid CSRF cookie or CSRF cookie does not match with the state")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -652,7 +652,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Provider does not exist // Provider does not exist
if provider == nil { if provider == nil {
c.Redirect(http.StatusPermanentRedirect, "/not-found") c.Redirect(http.StatusTemporaryRedirect, "/not-found")
return return
} }
@@ -664,7 +664,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Handle error // Handle error
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to exchange token") log.Error().Err(err).Msg("Failed to exchange token")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -674,7 +674,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Handle error // Handle error
if err != nil { if err != nil {
log.Error().Msg("Failed to get user") log.Error().Msg("Failed to get user")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -683,7 +683,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Check that email is not empty // Check that email is not empty
if user.Email == "" { if user.Email == "" {
log.Error().Msg("Email is empty") log.Error().Msg("Email is empty")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -699,12 +699,12 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Handle error // Handle error
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to build queries") log.Error().Err(err).Msg("Failed to build queries")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
// Redirect to unauthorized // Redirect to unauthorized
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode())) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/unauthorized?%s", h.Config.AppURL, queries.Encode()))
} }
log.Debug().Msg("Email whitelisted") log.Debug().Msg("Email whitelisted")
@@ -741,7 +741,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
if err != nil { if err != nil {
log.Debug().Msg("No redirect cookie") log.Debug().Msg("No redirect cookie")
c.Redirect(http.StatusPermanentRedirect, h.Config.AppURL) c.Redirect(http.StatusTemporaryRedirect, h.Config.AppURL)
return return
} }
@@ -757,7 +757,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
// Handle error // Handle error
if err != nil { if err != nil {
log.Error().Err(err).Msg("Failed to build queries") log.Error().Err(err).Msg("Failed to build queries")
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/error", h.Config.AppURL)) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/error", h.Config.AppURL))
return return
} }
@@ -765,7 +765,7 @@ func (h *Handlers) OauthCallbackHandler(c *gin.Context) {
c.SetCookie(h.Config.RedirectCookieName, "", -1, "/", "", h.Config.CookieSecure, true) c.SetCookie(h.Config.RedirectCookieName, "", -1, "/", "", h.Config.CookieSecure, true)
// Redirect to continue with the redirect URI // Redirect to continue with the redirect URI
c.Redirect(http.StatusPermanentRedirect, fmt.Sprintf("%s/continue?%s", h.Config.AppURL, queries.Encode())) c.Redirect(http.StatusTemporaryRedirect, fmt.Sprintf("%s/continue?%s", h.Config.AppURL, queries.Encode()))
} }
func (h *Handlers) HealthcheckHandler(c *gin.Context) { func (h *Handlers) HealthcheckHandler(c *gin.Context) {