func (p *OauthProxy) MakeCookie(req *http.Request, value string, expiration time.Duration, now time.Time) *http.Cookie { domain := req.Host if h, _, err := net.SplitHostPort(domain); err == nil { domain = h } if p.CookieDomain != "" { if !strings.HasSuffix(domain, p.CookieDomain) { log.Printf("Warning: request host is %q but using configured cookie domain of %q", domain, p.CookieDomain) } domain = p.CookieDomain } if value != "" { value = cookie.SignedValue(p.CookieSeed, p.CookieName, value, now) } return &http.Cookie{ Name: p.CookieName, Value: value, Path: "/", Domain: domain, HttpOnly: p.CookieHttpOnly, Secure: p.CookieSecure, Expires: now.Add(expiration), } }
// 生成cookie func makeCookie(req *http.Request, value string, expiration time.Duration, now time.Time) *http.Cookie { domain := req.Host if h, _, err := net.SplitHostPort(domain); err == nil { domain = h } if value != "" { value = cookie.SignedValue(_cookieSeed, _sid, value, now) } return &http.Cookie{ Name: _sid, Value: value, Path: "/", Domain: domain, HttpOnly: true, Secure: _cookieSecure, Expires: now.Add(expiration), } }