我得到以下错误当我尝试登录,我找不到问题在哪里.我使用lumen 9与php 8.1.
<!-- Lcobucci\JWT\Token\Builder::relatedTo(): Argument #1 ($subject) must be of type string, null given, called in /home/ss20nt22/public_html/wms/vendor/php-open-source-saver/jwt-auth/src/Providers/JWT/Lcobucci.php on line 212 (500 Internal Server Error) -->
以下是我的函数:
public function login(Request $request)
{
$this->validate($request, [
'nume' => 'required|string',
'password' => 'required|string',
]);
$credentials = $request->only(['nume', 'password']);
if (!$token = Auth::attempt($credentials)) {
// Login has failed
return response()->json(['message' => 'Unauthorized'], 401);
}
return $this->respondWithToken($token);
}
3条答案
按热度按时间zf9nrax11#
在config\jwt.php文件中更改
'jwt' =〉Tymon\JWTAuth\Providers\JWT\Lcobucci::class,to 'jwt' =〉Tymon\JWTAuth\Providers\JWT\Namshi::class
6qftjkof2#
我解决了它如下,我卸载了包,并安装了它再次从这里的文档。
https://jwt-auth.readthedocs.io/en/develop/laravel-installation/
如果是管腔,请使用以下文件执行相同的程序。
https://jwt-auth.readthedocs.io/en/develop/lumen-installation/
步骤:
卸载软件包
从.env或其他地方删除JWT_SECRET
如果可能,请删除该文件
config/jwt.php
清除所有流明缓存
停止Web服务
按照链接中的安装说明进行操作
https://jwt-auth.readthedocs.io/en/develop/lumen-installation/
回想一下我在php8中使用Laravel8
ojsjcaue3#
我通过运行
php artisan config:cache
修复了它。这个命令缓存了你的配置。这对我很有帮助,因为我注意到环境变量有时没有时间加载到动态配置中。为了以防万一,请确保通过运行
php artisan jwt:secret
生成了密钥