0

我在我的 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。

    我是苗条框架的新手。请帮我。

4

1 回答 1

0

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

苗条 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'));
于 2021-06-08T07:17:47.017 回答