【发布时间】:2021-05-03 02:36:43
【问题描述】:
我正在使用 composer 来安装 slim-skeleton。那些内置的路线按预期工作。我了解如何添加我以前的路由和数据库连接,但我一直在为如何添加任何 JWT 库而苦苦挣扎。我进行了搜索和搜索,但没有找到太多关于 Slim-4 的文档,而且我尝试过的方法似乎总是以某种方式失败。
例如,我使用composer安装tuupola/slim-jwt-auth,它说要添加以下代码:
$app = new Slim\App;
$app->add(new Tuupola\Middleware\JwtAuthentication([
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
但是我在哪里或如何将它添加到中间件?是否需要添加到 app/middleware.php 中?我阅读的所有文档都具有与其他目录和其他目录完全不同的文件结构。一旦将其放置在正确的位置,看起来就像在没有令牌的情况下发出请求时,我应该得到 401 Unauthorized 响应。
在该部分工作之后,我知道我需要创建一个路由来获取我的访问令牌,但是我在这个库中没有看到任何关于它的内容,所以我假设我需要另一个库来编码我的令牌并从我的请求。
一旦我实际得到一个令牌响应并将其传递到我的实际请求路由的标头中,我会假设我会执行以下操作
$app->get("/protected-route-name", function ($request, $response, $arguments) {
$token = $request->getAttribute("token");
// Not sure what to put next to verify the token and allow the response or display a error if there is no token or the token in invalid.
});
我愿意接受 firebase 或任何 JWT 库,如果有人有他们喜欢的并且运行良好的库,我只需要一些指导,因为我觉得缺少所有文档。
【问题讨论】: