mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 12:14:02 +01:00
Fix incorrect cookie path for AppSubURL (#29534)
Regression of #24107 (cherry picked from commit 44398e405ffe297997c6b9c8dbb97f966926b65a)
This commit is contained in:
parent
318634ef74
commit
ff7a032c74
2 changed files with 6 additions and 2 deletions
|
@ -21,7 +21,7 @@ var SessionConfig = struct {
|
||||||
ProviderConfig string
|
ProviderConfig string
|
||||||
// Cookie name to save session ID. Default is "MacaronSession".
|
// Cookie name to save session ID. Default is "MacaronSession".
|
||||||
CookieName string
|
CookieName string
|
||||||
// Cookie path to store. Default is "/". HINT: there was a bug, the old value doesn't have trailing slash, and could be empty "".
|
// Cookie path to store. Default is "/".
|
||||||
CookiePath string
|
CookiePath string
|
||||||
// GC interval time in seconds. Default is 3600.
|
// GC interval time in seconds. Default is 3600.
|
||||||
Gclifetime int64
|
Gclifetime int64
|
||||||
|
@ -49,7 +49,10 @@ func loadSessionFrom(rootCfg ConfigProvider) {
|
||||||
SessionConfig.ProviderConfig = path.Join(AppWorkPath, SessionConfig.ProviderConfig)
|
SessionConfig.ProviderConfig = path.Join(AppWorkPath, SessionConfig.ProviderConfig)
|
||||||
}
|
}
|
||||||
SessionConfig.CookieName = sec.Key("COOKIE_NAME").MustString("i_like_gitea")
|
SessionConfig.CookieName = sec.Key("COOKIE_NAME").MustString("i_like_gitea")
|
||||||
SessionConfig.CookiePath = AppSubURL + "/" // there was a bug, old code only set CookePath=AppSubURL, no trailing slash
|
SessionConfig.CookiePath = AppSubURL
|
||||||
|
if SessionConfig.CookiePath == "" {
|
||||||
|
SessionConfig.CookiePath = "/"
|
||||||
|
}
|
||||||
SessionConfig.Secure = sec.Key("COOKIE_SECURE").MustBool(strings.HasPrefix(strings.ToLower(AppURL), "https://"))
|
SessionConfig.Secure = sec.Key("COOKIE_SECURE").MustBool(strings.HasPrefix(strings.ToLower(AppURL), "https://"))
|
||||||
SessionConfig.Gclifetime = sec.Key("GC_INTERVAL_TIME").MustInt64(86400)
|
SessionConfig.Gclifetime = sec.Key("GC_INTERVAL_TIME").MustInt64(86400)
|
||||||
SessionConfig.Maxlifetime = sec.Key("SESSION_LIFE_TIME").MustInt64(86400)
|
SessionConfig.Maxlifetime = sec.Key("SESSION_LIFE_TIME").MustInt64(86400)
|
||||||
|
|
|
@ -38,6 +38,7 @@ func ProtocolMiddlewares() (handlers []any) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// wrap the request and response, use the process context and add it to the process manager
|
||||||
handlers = append(handlers, func(next http.Handler) http.Handler {
|
handlers = append(handlers, func(next http.Handler) http.Handler {
|
||||||
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
|
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
|
||||||
ctx, _, finished := process.GetManager().AddTypedContext(req.Context(), fmt.Sprintf("%s: %s", req.Method, req.RequestURI), process.RequestProcessType, true)
|
ctx, _, finished := process.GetManager().AddTypedContext(req.Context(), fmt.Sprintf("%s: %s", req.Method, req.RequestURI), process.RequestProcessType, true)
|
||||||
|
|
Loading…
Reference in a new issue