Skip to content

Commit

Permalink
4668 document isCsrfTokenValid
Browse files Browse the repository at this point in the history
  • Loading branch information
Henry Snoek authored and wouterj committed Jul 29, 2015
1 parent 9fd5229 commit 11383f8
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion book/controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ If you want to redirect the user to another page, use the ``redirectToRoute()``
}

.. versionadded:: 2.6
The ``redirectToRoute()`` method was added in Symfony 2.6. Previously (and still now), you
The ``redirectToRoute()`` method was introduced in Symfony 2.6. Previously (and still now), you
could use ``redirect()`` and ``generateUrl()`` together for this (see the example above).

Or, if you want to redirect externally, just use ``redirect()`` and pass it the URL::
Expand Down Expand Up @@ -803,6 +803,28 @@ Just like when creating a controller for a route, the order of the arguments of
order of the arguments, Symfony will still pass the correct value to each
variable.

Validating a CSRF Token
-----------------------

Sometimes you want to use CSRF protection in an action where you don't want to use the
Symfony Form component.

If, for example, you're doing a DELETE action, you can use the
:method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::isCsrfTokenValid`
method to check the CSRF token::

if ($this->isCsrfTokenValid('token_id', $submittedToken)) {
// ... do something, like deleting an object
}

.. versionadded:: 2.6
The ``isCsrfTokenValid()`` shortcut method was introduced in Symfony 2.6.
It is equivalent to executing the following code::

use Symfony\Component\Security\Csrf\CsrfToken;

$this->get('security.csrf.token_manager')->isTokenValid(new CsrfToken('token_id', 'TOKEN'));

Final Thoughts
--------------

Expand Down

0 comments on commit 11383f8

Please sign in to comment.