[IAM] Prepend AppSubURL to redirectURI before validating it (#103475)

pull/103772/head
xavi 9 months ago committed by GitHub
parent ddf3e62b8d
commit 5053aa576d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      pkg/api/user_token.go
  2. 2
      pkg/services/authn/authn.go

@ -89,11 +89,11 @@ func (hs *HTTPServer) RotateUserAuthTokenRedirect(c *contextmodel.ReqContext) re
return response.Redirect(hs.GetRedirectURL(c))
}
redirectTo := c.Query("redirectTo")
redirectTo := hs.Cfg.AppSubURL + c.Query("redirectTo")
if err := hs.ValidateRedirectTo(redirectTo); err != nil {
return response.Redirect(hs.Cfg.AppSubURL + "/")
}
return response.Redirect(hs.Cfg.AppSubURL + redirectTo)
return response.Redirect(redirectTo)
}
// swagger:route POST /user/auth-tokens/rotate

@ -284,7 +284,7 @@ func handleLogin(r *http.Request, w http.ResponseWriter, cfg *setting.Cfg, ident
scopedRedirectToCookie, err := r.Cookie(redirectToCookieName)
if err == nil {
redirectTo, _ := url.QueryUnescape(scopedRedirectToCookie.Value)
if redirectTo != "" && validator(redirectTo) == nil {
if redirectTo != "" && validator(cfg.AppSubURL+redirectTo) == nil {
redirectURL = cfg.AppSubURL + redirectTo
}
cookies.DeleteCookie(w, redirectToCookieName, cookieOptions(cfg))

Loading…
Cancel
Save