Skip to content

Commit a1bdc14

Browse files
committed
MAGETWO-65236: Expiration date of PHPSESSID cookie is not updated
1 parent 0295beb commit a1bdc14

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
/**
99
* @magentoAppArea adminhtml
10+
* @magentoAppIsolation enabled
11+
* @magentoDbIsolation enabled
1012
*/
1113
class SessionTest extends \PHPUnit_Framework_TestCase
1214
{

lib/internal/Magento/Framework/Session/SessionManager.php

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
namespace Magento\Framework\Session;
99

1010
use Magento\Framework\Session\Config\ConfigInterface;
11-
use Magento\Framework\Stdlib\Cookie\CookieMetadata;
1211

1312
/**
1413
* Session Manager
@@ -210,19 +209,22 @@ private function renewCookie()
210209
if (!$this->getCookieLifetime()) {
211210
return $this;
212211
}
213-
$this->cookieManager->setPublicCookie(
214-
$this->getName(),
215-
$this->getSessionId(),
216-
$this->cookieMetadataFactory->createPublicCookieMetadata(
217-
[
218-
CookieMetadata::KEY_DURATION => $this->getCookieLifetime(),
219-
CookieMetadata::KEY_DOMAIN => $this->sessionConfig->getCookieDomain(),
220-
CookieMetadata::KEY_PATH => $this->sessionConfig->getCookiePath(),
221-
CookieMetadata::KEY_SECURE => $this->sessionConfig->getCookieSecure(),
222-
CookieMetadata::KEY_HTTP_ONLY => $this->sessionConfig->getCookieHttpOnly()
223-
]
224-
)
225-
);
212+
$cookieValue = $this->cookieManager->getCookie($this->getName());
213+
if ($cookieValue) {
214+
$metadata = $this->cookieMetadataFactory->createPublicCookieMetadata();
215+
$metadata->setPath($this->sessionConfig->getCookiePath());
216+
$metadata->setDomain($this->sessionConfig->getCookieDomain());
217+
$metadata->setDuration($this->sessionConfig->getCookieLifetime());
218+
$metadata->setSecure($this->sessionConfig->getCookieSecure());
219+
$metadata->setHttpOnly($this->sessionConfig->getCookieHttpOnly());
220+
221+
$this->cookieManager->setPublicCookie(
222+
$this->getName(),
223+
$cookieValue,
224+
$metadata
225+
);
226+
}
227+
226228
return $this;
227229
}
228230

0 commit comments

Comments
 (0)