at dependencies.php
$app->add(new App\Middlewares\JwtMiddleware($container));
inside Middleware
namespace App\Middlewares;
class Middleware
{
protected $container;
public function __construct($container) { $this->container = $container; }
}
inside JwtMiddleware
namespace App\Middlewares;
class JwtMiddleware extends Middleware
{
public function __invoke($request, $response, $next)
{
$container = $this->container;
new \Slim\Middleware\JwtAuthentication([ "path" => "/", "passthrough" => ["/token", "/info"], "secret" => 'supersecretkeyyoushouldnotcommittogithub', "algorithm" => ["HS256"], "logger" => $container["logger"], "relaxed" => ["localhost", "epayserver.dev"], "error" => function ($request, $response, $arguments) { $data["error"] = 401; $data["message"] = $arguments["message"]; return $response->withJson($data, 401); }, "callback" => function ($request, $response, $arguments) use ($container) { $container['token']->hydrate($arguments["decoded"]); } ]);
return $next($request, $response); }
}
Problem is $container[‘token’]->hydrate($arguments[“decoded”]); don’t working. Where Wrong ?