diff --git a/server/utils/cookie.go b/server/utils/cookie.go index 55053cb..ba45f8d 100644 --- a/server/utils/cookie.go +++ b/server/utils/cookie.go @@ -1,6 +1,10 @@ package utils import ( + "log" + "net/http" + "net/url" + "github.com/gin-gonic/gin" "github.com/yauthdev/yauth/server/constants" ) @@ -12,9 +16,12 @@ func SetCookie(gc *gin.Context, token string) { if !constants.IS_PROD { secure = false } - host := GetFrontendHost() - - gc.SetCookie(constants.COOKIE_NAME, token, 3600, "/", host, secure, httpOnly) + u, err := url.Parse(constants.SERVER_URL) + if err != nil { + log.Println("error getting server host") + } + gc.SetSameSite(http.SameSiteNoneMode) + gc.SetCookie(constants.COOKIE_NAME, token, 3600, "/", u.Hostname(), secure, httpOnly) } func DeleteCookie(gc *gin.Context) { @@ -25,5 +32,11 @@ func DeleteCookie(gc *gin.Context) { secure = false } - gc.SetCookie(constants.COOKIE_NAME, "", -1, "/", GetFrontendHost(), secure, httpOnly) + u, err := url.Parse(constants.SERVER_URL) + if err != nil { + log.Println("error getting server host") + } + gc.SetSameSite(http.SameSiteNoneMode) + + gc.SetCookie(constants.COOKIE_NAME, "", -1, "/", u.Hostname(), secure, httpOnly) } diff --git a/server/utils/urls.go b/server/utils/urls.go index b7e8453..2b87b2a 100644 --- a/server/utils/urls.go +++ b/server/utils/urls.go @@ -7,7 +7,7 @@ import ( "github.com/yauthdev/yauth/server/constants" ) -func GetFrontendHost() string { +func GetDomainName() string { u, err := url.Parse(constants.FRONTEND_URL) if err != nil { return `localhost`