zakirullin/conditional-middleware

PSR-15 middleware that makes it possible to add conditional middlewares, based on request

0.1.5 2019-04-25 09:25 UTC

README

Build Status Scrutinizer PHP from Packagist GitHub commits Software License

PSR-15 middleware that makes it possible to add conditional middlewares, based on request

Requirements

Installation

This package is installable and autoloadable via Composer as zakirullin/conditional-middleware.

composer require zakirullin/conditional-middleware 

PHP

$shouldProtect = function (\Psr\Http\Message\ServerRequestInterface $request) {
    $handler = $request->getAttribute('handler');
    return $handler != 'login';
};
$getIdentity = function (\Psr\Http\Message\ServerRequestInterface $request) {
    $session = $request->getAttribute('session');
    return [$session->get('userId')];
};

$dispatcher = new Dispatcher([
    ...
    new \Zakirullin\Middlewares\CSRF($shouldProtect, $getIdentity, 'secret'),
    ...
]);

Options

__construct(
    callable $shouldProtect,
    callable $getIdentity,
    string $secret,
    string $attribute = self::ATTRIBUTE,
    int $ttl = self::TTL,
    string $algorithm = self::ALGORITHM
)

name(string $name)

The session name. If it's not defined, the default PHPSESSID will be used.

The MIT License (MIT). Please see LICENSE for more information.