cookieFormKey = $cacheFormKey; $this->escaper = $escaper; $this->formKey = $formKey; $this->cookieMetadataFactory = $cookieMetadataFactory; $this->sessionConfig = $sessionConfig; } /** * Set form key from the cookie. * * @return void * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function beforeDispatch(): void { if ($this->cookieFormKey->get()) { $this->updateCookieFormKey($this->cookieFormKey->get()); $this->formKey->set( $this->escaper->escapeHtml($this->cookieFormKey->get()) ); } } /** * @param string $formKey * @return void */ private function updateCookieFormKey(string $formKey): void { $cookieMetadata = $this->cookieMetadataFactory ->createPublicCookieMetadata(); $cookieMetadata->setDomain($this->sessionConfig->getCookieDomain()); $cookieMetadata->setPath($this->sessionConfig->getCookiePath()); $lifetime = $this->sessionConfig->getCookieLifetime(); if ($lifetime !== 0) { $cookieMetadata->setDuration($lifetime); } $this->cookieFormKey->set( $formKey, $cookieMetadata ); } }