如何在每次 api 调用时验证 psr-jwt 令牌

how can validate psr-jwt token on every api call

我在我的 slim4 应用程序中使用 https://github.com/RobDWaller/psr-jwt

我想在 API 调用之前验证令牌。如果令牌有效,API 应该调用,否则应该提示错误。下面是我的代码

//routes.php
$app->group('/myapp/login', function (Group $group) {
        $group->post('', LoginProcess::class);
    });

$app->group('/myapp/register', function (Group $group) {
        $group->post('', RegisterProcess::class);
    });
$app->group('/,myapp', function (Group $group) {
        $group->get('/list', ListUser::class);
    });

//middlware.php
<?php
use App\Application\Middleware\AuthMiddleware;
use Slim\App;
return function (App $app) {
$app->add(\PsrJwt\Factory\JwtMiddleware::html('Secret123!456$', 'jwt', 'Authorisation Failed'));
};

它是否验证令牌本身。还有其他方法吗? 我的问题是:

  1. 自定义错误怎么写?

  2. 如何排除中间件登录,认证前&认证后注册api

    我是 slim 框架的新手。请帮助我。

要在路由级别调用中间件,您可以将该中间件添加到特定路由 and/or 路由组。

Slim 4 示例:

use Slim\Routing\RouteCollectorProxy;
use PsrJwt\Factory\JwtMiddleware;
// ...

$app->group('/myapp', function (RouteCollectorProxy $group) {
    $group->post('/login', LoginProcess::class);
    $group->post('/register', RegisterProcess::class);
    $group->get('/list', RegisterProcess::class);

})->add(JwtMiddleware::html('Secret123!456$', 'jwt', 'Authorisation Failed'));