mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2025-05-27 23:08:10 +02:00
Remove old cookie builder functions
This commit is contained in:
parent
7f1ae0ee4d
commit
812aabe5da
@ -5,42 +5,11 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/oauth2-proxy/oauth2-proxy/v7/pkg/apis/options"
|
|
||||||
"github.com/oauth2-proxy/oauth2-proxy/v7/pkg/logger"
|
"github.com/oauth2-proxy/oauth2-proxy/v7/pkg/logger"
|
||||||
requestutil "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/requests/util"
|
requestutil "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/requests/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MakeCookieFromOptions constructs a cookie based on the given *options.CookieOptions,
|
|
||||||
// value and creation time
|
|
||||||
func MakeCookieFromOptions(req *http.Request, name string, value string, opts *options.Cookie, expiration time.Duration, now time.Time) *http.Cookie {
|
|
||||||
domain := GetCookieDomain(req, opts.Domains)
|
|
||||||
// If nothing matches, create the cookie with the shortest domain
|
|
||||||
if domain == "" && len(opts.Domains) > 0 {
|
|
||||||
logger.Errorf("Warning: request host %q did not match any of the specific cookie domains of %q",
|
|
||||||
requestutil.GetRequestHost(req),
|
|
||||||
strings.Join(opts.Domains, ","),
|
|
||||||
)
|
|
||||||
domain = opts.Domains[len(opts.Domains)-1]
|
|
||||||
}
|
|
||||||
|
|
||||||
c := &http.Cookie{
|
|
||||||
Name: name,
|
|
||||||
Value: value,
|
|
||||||
Path: opts.Path,
|
|
||||||
Domain: domain,
|
|
||||||
Expires: now.Add(expiration),
|
|
||||||
HttpOnly: opts.HTTPOnly,
|
|
||||||
Secure: opts.Secure,
|
|
||||||
SameSite: ParseSameSite(opts.SameSite),
|
|
||||||
}
|
|
||||||
|
|
||||||
warnInvalidDomain(c, req)
|
|
||||||
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCookieDomain returns the correct cookie domain given a list of domains
|
// GetCookieDomain returns the correct cookie domain given a list of domains
|
||||||
// by checking the X-Fowarded-Host and host header of an an http request
|
// by checking the X-Fowarded-Host and host header of an an http request
|
||||||
func GetCookieDomain(req *http.Request, cookieDomains []string) string {
|
func GetCookieDomain(req *http.Request, cookieDomains []string) string {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user