slimphp / Slim-Csrf

Slim Framework CSRF protection middleware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Empty values

thierryler opened this issue · comments

Hello, using Slim 4, PHP 7.3, I get null values for the name and the value.

In my action:

class SomeAction {
  private $csrf;

  public function __construct(Guard $csrf) {
    $this->csrf = $csrf;
  }

  public function getLogin(Request $request, Response $response, $args): Response {
    $csrfNameKey = $this->csrf->getTokenNameKey();
    $csrfValueKey = $this->csrf->getTokenValueKey();
    $csrfName = $this->csrf->getTokenName();
    $csrfValue = $this->csrf->getTokenValue();

    $csrfValues = [
      'keys' => [
        'name'  => $csrfNameKey,
        'value' => $csrfValueKey
      ],
      'name'  => $csrfName,
      'value' => $csrfValue,
    ];

    var_dump($csrfValues);

It gives:

array(3) { 
["keys"]=> array(2) { ["name"]=> string(9) "csrf_name" ["value"]=> string(10) "csrf_value" } 
["name"]=> NULL ["value"]=> NULL } 

And in my index:

$responseFactory = $app->getResponseFactory();
$container->set('csrf', function () use ($responseFactory) {
  return new Guard($responseFactory);
});
$app->add('csrf');

Did I forget something ?

I found my own error, I should have use Guard::class instead of csrf