Feature: #56633 - Form protection API for frontend usage

See forge#56633


As of now frontend plugins needed to implement CSRF protection on their own. This change introduces a new class to allow usage of the FormProtection (CSRF protection) API in the frontend.

Usage is the same as in backend context:

$formToken = \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get()
        ->getFormProtection()->generateToken('news', 'edit', $uid);

if ($dataHasBeenSubmitted
        && \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get()->validateToken(
) {
        // Processes the data.
} else {
        // Create a flash message for the invalid token or just discard this request.


FormProtection API can now also be used in frontend context.