Merge pull request #20888 from Chocobo1/cookie

Simplify HTTP cookie code
This commit is contained in:
Chocobo1 2024-05-30 19:35:40 +08:00 committed by GitHub
commit 4155d4660f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -740,16 +740,15 @@ void WebApplication::sessionStart()
connect(m_freeDiskSpaceChecker, &FreeDiskSpaceChecker::checked, syncController, &SyncController::updateFreeDiskSpace); connect(m_freeDiskSpaceChecker, &FreeDiskSpaceChecker::checked, syncController, &SyncController::updateFreeDiskSpace);
m_currentSession->registerAPIController(u"sync"_s, syncController); m_currentSession->registerAPIController(u"sync"_s, syncController);
QNetworkCookie cookie {m_sessionCookieName.toLatin1(), m_currentSession->id().toUtf8()}; QNetworkCookie cookie {m_sessionCookieName.toLatin1(), m_currentSession->id().toLatin1()};
cookie.setHttpOnly(true); cookie.setHttpOnly(true);
cookie.setSecure(m_isSecureCookieEnabled && m_isHttpsEnabled); cookie.setSecure(m_isSecureCookieEnabled && m_isHttpsEnabled);
cookie.setPath(u"/"_s); cookie.setPath(u"/"_s);
QByteArray cookieRawForm = cookie.toRawForm();
if (m_isCSRFProtectionEnabled) if (m_isCSRFProtectionEnabled)
cookieRawForm.append("; SameSite=Strict"); cookie.setSameSitePolicy(QNetworkCookie::SameSite::Strict);
else if (cookie.isSecure()) else if (cookie.isSecure())
cookieRawForm.append("; SameSite=None"); cookie.setSameSitePolicy(QNetworkCookie::SameSite::None);
setHeader({Http::HEADER_SET_COOKIE, QString::fromLatin1(cookieRawForm)}); setHeader({Http::HEADER_SET_COOKIE, QString::fromLatin1(cookie.toRawForm())});
} }
void WebApplication::sessionEnd() void WebApplication::sessionEnd()