9fd7acf6 by astaxie

fix #1152

1 parent 2dca48f2
...@@ -147,7 +147,7 @@ func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (se ...@@ -147,7 +147,7 @@ func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (se
147 Value: url.QueryEscape(sid), 147 Value: url.QueryEscape(sid),
148 Path: "/", 148 Path: "/",
149 HttpOnly: true, 149 HttpOnly: true,
150 Secure: manager.config.Secure, 150 Secure: manager.isSecure(r),
151 Domain: manager.config.Domain} 151 Domain: manager.config.Domain}
152 if manager.config.CookieLifeTime > 0 { 152 if manager.config.CookieLifeTime > 0 {
153 cookie.MaxAge = manager.config.CookieLifeTime 153 cookie.MaxAge = manager.config.CookieLifeTime
...@@ -174,7 +174,7 @@ func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (se ...@@ -174,7 +174,7 @@ func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (se
174 Value: url.QueryEscape(sid), 174 Value: url.QueryEscape(sid),
175 Path: "/", 175 Path: "/",
176 HttpOnly: true, 176 HttpOnly: true,
177 Secure: manager.config.Secure, 177 Secure: manager.isSecure(r),
178 Domain: manager.config.Domain} 178 Domain: manager.config.Domain}
179 if manager.config.CookieLifeTime > 0 { 179 if manager.config.CookieLifeTime > 0 {
180 cookie.MaxAge = manager.config.CookieLifeTime 180 cookie.MaxAge = manager.config.CookieLifeTime
...@@ -233,7 +233,7 @@ func (manager *Manager) SessionRegenerateId(w http.ResponseWriter, r *http.Reque ...@@ -233,7 +233,7 @@ func (manager *Manager) SessionRegenerateId(w http.ResponseWriter, r *http.Reque
233 Value: url.QueryEscape(sid), 233 Value: url.QueryEscape(sid),
234 Path: "/", 234 Path: "/",
235 HttpOnly: true, 235 HttpOnly: true,
236 Secure: manager.config.Secure, 236 Secure: manager.isSecure(r),
237 Domain: manager.config.Domain, 237 Domain: manager.config.Domain,
238 } 238 }
239 } else { 239 } else {
...@@ -270,3 +270,17 @@ func (manager *Manager) sessionId(r *http.Request) (string, error) { ...@@ -270,3 +270,17 @@ func (manager *Manager) sessionId(r *http.Request) (string, error) {
270 } 270 }
271 return hex.EncodeToString(b), nil 271 return hex.EncodeToString(b), nil
272 } 272 }
273
274 // Set cookie with https.
275 func (manager *Manager) isSecure(req *http.Request) bool {
276 if !manager.config.Secure {
277 return false
278 }
279 if req.URL.Scheme != "" {
280 return req.URL.Scheme == "https"
281 }
282 if req.TLS == nil {
283 return false
284 }
285 return true
286 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!