---
name: "HTML::FormFu::Element::RequestToken"
section: "3pm"
platform: "linux"
package: "libcatalyst-controller-html-formfu-perl"
version: "2.04-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::FormFu::Element::RequestToken"
---

# HTML::FormFu::Element::RequestToken(3pm)

Hidden text field which contains a unique token

## NAME

HTML::FormFu::Element::RequestToken

## VERSION

version 2.04

## SYNOPSIS

```
  my $e = $form->element( { type => 'Token' } );
  my $p = $form->element( { plugin => 'Token' } );
```

## DESCRIPTION

This field can prevent CSRF attacks. It contains a random token. After submission the token is checked with the token which is stored in the session of the current user. See "request\_token\_enable" in Catalyst::Controller::HTML::FormFu for a convenient way how to use it.

## NAME

HTML::FormFu::Element::RequestToken - Hidden text field which contains a unique token

## ATTRIBUTES

### context

Value of the stash key for the Catalyst context object (`$c`). Defaults to `"context"`.

### expiration\_time

Time to life for a token in seconds. Defaults to `3600`.

### session\_key

Session key which is used to store the tokens. Defaults to `"__token"`.

### limit

Limit the number of tokens which are kept in the session. Defaults to 20.

### constraints

Defaults to HTML::FormFu::Constraint::RequestToken and HTML::FormFu::Constraint::Required.

### message

Set the error message.

## METHODS

### expire\_token

This method looks in the session for expired tokens and removes them.

### get\_token

Generates a new token and stores it in the stash.

### verify\_token

Checks whether a given token is already in the session. Returns `1` if it exists, `0` otherwise.

## SEE ALSO

Catalyst::Controller::HTML::FormFu, HTML::FormFu::Plugin::RequestToken, HTML::FormFu::Constraint::RequestToken

HTML::FormFu

## AUTHOR

Moritz Onken, `"onken@houseofdesign.de"`

## LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

## AUTHORS

- •

  Carl Franks \<cpan@fireartist.com\>

- •

  Nigel Metheringham \<nigelm@cpan.org\>

- •

  Dean Hamstead \<dean@bytefoundry.com.au\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2007-2018 by Carl Franks / Nigel Metheringham / Dean Hamstead.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
