php - Slim 框架:无法使用 JWT 令牌
问题描述
我正在开发一个苗条的 REST API,我想用 JWT 令牌保护它。我尝试了很多教程,并且能够使事情正常进行。
我使用:
slim 4.*
slim/psr7 0.6.0
tuupola/slim-jwt-auth ^3.4
tuupola/cors-middleware ^1.1
Ubuntu 19.10 和 Xampp
我有 2 条路由(POST /login 和 GET /api/test)
我希望能够使用不带令牌的 /login 路由,而另一条带有令牌。所以我写道:
$app->add(new Tuupola\Middleware\JwtAuthentication([
"path" => "/api",
"secret" => getenv ("SPROUTCH_TOKEN"),
"error" => function ($request, $response, $arguments) {
$data["status"] = "error";
$data["message"] = $arguments["message"];
return $response
->withHeader("Content-Type", "application/json")
->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
},
]));
在那种情况下,没有什么是安全的,所以我尝试了这个:
$app->add(new Tuupola\Middleware\JwtAuthentication([
"secret" => getenv ("SPROUTCH_TOKEN"),
"error" => function ($request, $response, $arguments) {
$data["status"] = "error";
$data["message"] = $arguments["message"];
return $response
->withHeader("Content-Type", "application/json")
->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
},
]));
当然,我无法访问任何东西。
解决方案
问题只是“路径”键只采用绝对路径
推荐阅读
- ios - 删除 UIVIewController 中的顶部空间 UIScrollview
- bash - 重写 curl 以便允许变量内的引号
- php - 正则表达式:如何捕获每一行以创建列表
- css - 为什么 CSS 变量不支持 Safari 中的图像?
- java - 通过 Spring CLI 将依赖项添加到现有项目
- android - Android 应用程序以编程方式接收传入的 SMS 消息并回复回复
- css - 如何使用 SCSS 选择父级
- authorize.net - 批量交易处理 - 自动支付场景
- python - Python, Outlook 检索一个人的电子邮件和这个人的经理的电子邮件
- android - 您如何返回列表列表
从 Android Room DAO 查询