Php 如何使用jwt slim中间件获得身份验证?
这段代码可以工作,但是如何通过get请求获得查看Php 如何使用jwt slim中间件获得身份验证?,php,slim,Php,Slim,这段代码可以工作,但是如何通过get请求获得查看/api内容的权限 <?php use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; require 'vendor/autoload.php'; $app = new \Slim\App(); $app->add(new \S
/api
内容的权限
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"path" => "/api",
"secret" => "1234"
]));
$app->get('/api', function (Request $request, Response $response) {
echo "Hi";
});
$app->get('/teste', function (Request $request, Response $response) {
echo "Hi";
});
$app->run();
我使用了授权:无记名Mykey
,密钥需要在jwt模式下编码我使用了授权:无记名Mykey
,密钥需要在jwt模式下编码1。生成令牌
使用
2.htaccess更改
如果使用Apache,请将以下内容添加到.htaccess文件中。否则PHP将无法访问Authorization:Bearer标头
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3.中间件
4.正确的要求
5.错误的令牌请求
1。生成令牌
使用
2.htaccess更改
如果使用Apache,请将以下内容添加到.htaccess文件中。否则PHP将无法访问Authorization:Bearer标头
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3.中间件
4.正确的要求
5.错误的令牌请求
使标题更清晰,语言更简洁。请编辑问题,并提供一个示例,说明您获得的输出与您期望的输出。谢谢抱歉,我更改了标题,我试图通过get请求访问/api,但我不知道密钥需要使用jwt模式编码,并且需要位于请求的标题中。使标题更清晰,语言更简洁。请编辑问题,并提供一个示例,说明您获得的输出与您期望的输出。谢谢抱歉,我更改了标题,我试图通过get请求访问/api,但我不知道密钥需要使用jwt模式编码,并且需要位于请求的头中。
$app->add(new \Slim\Middleware\JwtAuthentication([
"path" => "/api",
"passthrough" => ["/teste"],
"secret" => "JWT-secret-key",
"secure" => false,
"callback" => function ($request, $response, $arguments) use ($container) {
$container["jwt"] = $arguments["decoded"];
},
"error" => function ($request, $response, $arguments) {
$data["status"] = "0";
$data["message"] = $arguments["message"];
$data["data"] = "";
return $response
->withHeader("Content-Type", "application/json")
->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
}
]));