class Orion::Middleware::CSRF

Overview

CSRF (Cross-Site Request Forgery) Protection Generates and validates CSRF tokens for state-changing requests

Usage: use Orion::Middleware::CSRF.new(secret: ENV["SECRET_KEY_BASE"])

In views: <%= csrf_token %> # Get token <%= csrf_meta_tags %> # Add meta tags <%= csrf_hidden_field %> # Add hidden form field

Included Modules

Defined in:

orion/middleware/csrf.cr

Constant Summary

SAFE_METHODS = ["GET", "HEAD", "OPTIONS", "TRACE"] of ::String
TOKEN_LENGTH = 32

Constructors

Instance Method Summary

Constructor Detail

def self.new(secret : String, header_name : String = "X-CSRF-Token", param_name : String = "csrf_token", cookie_name : String = "_csrf_token") #

Instance Method Detail

def call(context : HTTP::Server::Context) #

def cookie_name : String #

def cookie_name=(cookie_name : String) #

def header_name : String #

def header_name=(header_name : String) #

def param_name : String #

def param_name=(param_name : String) #

def secret : String #

def secret=(secret : String) #