我正在使用slim-jwt-auth为JSON API创建基于令牌的身份验证.
文档非常有用,但我不明白的一件事是如何生成令牌?文档说中间件能够解码令牌,但看不到任何编码方式.
我见过的一些项目使用firebase/jwt,但我不确定这是否需要,或者与slim-jwt-auth兼容.
slim-jwt-auth能够生成令牌吗?
解决方法:
您可以但不需要安装额外的库来生成令牌.中间件在内部使用firebase/php-jwt,因此您可以使用相同的库来生成令牌.像下面这样的东西.
use \Firebase\JWT\JWT;
use \Tuupola\Base62;
$now = new DateTime();
$future = new DateTime("now +2 hours");
$jti = Base62::encode(random_bytes(16));
$secret = "your_secret_key";
$payload = [
"jti" => $jti,
"iat" => $now->getTimeStamp(),
"nbf" => $future->getTimeStamp()
];
$token = JWT::encode($payload, $secret, "HS256");
您也可以查看Slim API Skeleton的灵感.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。