/** * Adds the referer ID to the request. * * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { if (!$this->isBackendMasterRequest($event)) { return; } $request = $event->getRequest(); /** @var CsrfToken $token */ $token = $this->tokenManager->refreshToken('contao_referer_id'); $request->attributes->set('_contao_referer_id', $token->getValue()); }
public function let(CsrfTokenManagerInterface $tokenManager, CsrfToken $token) { $tokenManager->getToken(self::ID)->willReturn($token); $tokenManager->refreshToken(self::ID)->willReturn($token); $tokenManager->removeToken(self::ID)->willReturn(self::VALUE); $tokenManager->isTokenValid(Argument::type('Symfony\\Component\\Security\\Csrf\\CsrfToken'))->willReturn(true); $this->beConstructedWith($tokenManager, self::ID); }
/** * Generate a token for a given id * @param string $tokenId * @param boolean $refresh * @return string */ protected function getToken($tokenId, $refresh = false) { if ($refresh) { $token = $this->manager->refreshToken($tokenId)->getValue(); } else { $token = $this->manager->getToken($tokenId)->getValue(); } $this->logger->debug("CSRF: generated token '{$token}' for '{$tokenId}'"); return $token; }
/** * @param $name * @return string */ public function getToken($name) { $intention = ''; $type = $this->formExtension->getType($name); if ($type instanceof TypeInterface) { $intention = $type->getDefaultIntention(); } if (isset($defaults['intention'])) { $intention = $defaults['intention']; } return $this->csrfTokenManager->refreshToken($intention); }
/** * @param string $formName * * @return array * @throws FormlyMapperException */ public function map($formName = null) { $formlyConfiguration = []; try { $configuration = (array) $this->formFactory->getConfiguration($formName); } catch (NonExistentFormException $e) { throw new FormlyMapperException($e->getMessage()); } if (!empty($configuration)) { foreach ($configuration as $fieldName => $fieldConfiguration) { $fieldConfiguration['name'] = $fieldName; $formlyField = $this->formlyFieldFactory->getFormlyField($fieldConfiguration['type']); $formlyField->setFieldConfiguration($fieldConfiguration); $formlyConfiguration[] = $formlyField->getFormlyFieldConfiguration(); } } $formName = !empty($formName) ? $formName : 'form'; $token = $this->csrfTokenManager->refreshToken($formName); $tokenFieldConfiguration = ['key' => '_token', 'type' => 'hidden', 'defaultValue' => $token->getValue()]; $formlyConfiguration[] = $tokenFieldConfiguration; return $formlyConfiguration; }
/** * Refreshes the CSRF token. * * @return CsrfToken * * @see CsrfTokenManagerInterface::refreshToken() */ public function refreshToken() { return $this->csrfTokenManager->refreshToken($this->tokenId); }