Php 如何在没有身份验证的情况下创建JWT令牌 “laravel/framework”:“5.7.*” “tymon/jwt认证”:“开发人员开发”
我正在尝试创建一个添加了自定义声明的JWT令牌,而不使用auth(这意味着我不希望从凭据创建令牌)。这是为了创建不需要登录的令牌,例如忘记/重置密码等Php 如何在没有身份验证的情况下创建JWT令牌 “laravel/framework”:“5.7.*” “tymon/jwt认证”:“开发人员开发”,php,laravel,jwt,Php,Laravel,Jwt,我正在尝试创建一个添加了自定义声明的JWT令牌,而不使用auth(这意味着我不希望从凭据创建令牌)。这是为了创建不需要登录的令牌,例如忘记/重置密码等 使用Tymon/JWTAuth() 由于最新的Laravel存在问题,因此建议加载最新的dev(1.0.x-dev)。 我尝试了以下代码,但没有成功: 类OTL扩展模型实现JWTSubject 使用JWTAuth 使用Tymon\JWTAuth\Contracts\JWTSubject 使用Tymon\JWTAuth\Facades\JWTFa
- 使用Tymon/JWTAuth() 由于最新的Laravel存在问题,因此建议加载最新的dev(1.0.x-dev)。 我尝试了以下代码,但没有成功:
类OTL扩展模型实现JWTSubject
使用JWTAuth代码>
使用Tymon\JWTAuth\Contracts\JWTSubject代码>
使用Tymon\JWTAuth\Facades\JWTFactory代码>
公共静态函数getJwtToken($customerId、$action、$token){
$customClaims=['action'=>$action,'customer id'=>$customerId,'token'=>$token];
$factory=JWTFactory::customClaims($customClaims);
$payload=$factory->make();
$token=JWTAuth::encode($payload);
返回$token;
我收到一个错误:JWT有效负载不包含所需的声明
我希望收到包含上述有效负载的令牌。我刚刚遇到了相同的错误,并且能够通过更新生成的配置文件
config/jwt.php
中所需声明的列表来解决它
...
'required_claims' => [
'exp',
'sub',
...
],
...
还要确保您已经运行了php artisan jwt:secret,或者提供了用于签名的密钥。我刚刚遇到了相同的错误,并且能够通过更新生成的配置文件
config/jwt.php
中所需声明的列表来解决它
...
'required_claims' => [
'exp',
'sub',
...
],
...
还要确保您已经运行了
php artisan jwt:secret
或以其他方式提供了用于签名的密钥。我通过在config/jwt.php
中注释掉'exp'
中的required\u claims
解决了这个问题:
。。。。。
“所需索赔”=>[
"国际空间站",,
“iat”,
//“exp”,
.....
],
我解决了这个问题,在配置/jwt.php
中注释掉了'exp'
中的required\u索赔
:
。。。。。
“所需索赔”=>[
"国际空间站",,
“iat”,
//“exp”,
.....
],
Hello,可能是jwt auth软件包不允许您在没有身份验证声明的情况下使用jwt令牌?可能您应该尝试在此处使用本机jwt库?您还可以尝试覆盖生成令牌的方法Hello,可能是jwt auth软件包不允许您在没有身份验证声明的情况下使用jwt令牌身份验证声明?也许您应该尝试在此处使用本机jwt库?您还可以尝试重写生成令牌的方法