rocket_csrf_token
A slightly more maintained version of rocket_csrf.
Usage
Attach fairing to the Rocket instance:
extern crate rocket;
extern crate serde_derive;
use Template;
You also can configure fairing:
Add guard to any request where you want to have access to session's CSRF token (e.g. to include it in forms) or verify it (e.g. to validate form):
use Form;
use Redirect;
use CsrfToken;
use Template;
Get CSRF token from guard to use it in templates:
Add CSRF token to your HTML forms in templates:
<!-- your fields -->
Add attribute authenticity_token
to your forms:
Validate forms to have valid authenticity token:
See the complete code in minimal example.
TODO
- Add fairing to verify all requests as an option.
- Verify
X-CSRF-Token
header. - Set cookie to expire with session.
- Add data guard to verify forms with a guard.
- Add helpers to render form field.
- Add helpers to add HTML meta tags for Ajax with
X-CSRF-Token
header (WIP). - Use authenticity token encryption from Ruby on Rails.
- Allow to configure CSRF protection (CSRF token byte length, cookie name, etc.).