在000webhost上托管时,无法使用jwt连接到laravel api

问题描述 投票:0回答:1

我试图在000webhost免费套餐上主持一个项目,我坚持这个问题。我已经到处搜索,但仍然没有解决方案。该项目是laravel 5.7 api,使用jwt进行身份验证,并在localhost上正常工作。我上传了000webhost上的所有内容没有问题,并用此设置数据库。

我知道它已经启动并且工作到一定程度,因为我可以访问index.php并显示出来。(这只是一个显示'hello'的页面)。

我的问题是,当我尝试使用邮递员调用'/ api / showAuthUser'端点时,我收到此错误。

Argument 3 passed to Lcobucci\JWT\Signer\Hmac::doVerify() must be an instance of Lcobucci\JWT\Signer\Key, null given, called in /storage/ssd1/450/8968450/vendor/lcobucci/jwt/src/Signer/BaseSigner.php on line 42

当我尝试使用邮递员调用'/ api / login'时,我收到此错误。

Argument 2 passed to Lcobucci\JWT\Signer\Hmac::createHash() must be an instance of Lcobucci\JWT\Signer\Key, null given, called in /storage/ssd1/450/8968450/vendor/lcobucci/jwt/src/Signer/BaseSigner.php on line 34

我确信我已正确连接数据库,并且我在.env文件中有jwt机密。我已经尝试过我能在网上找到的所有解决方案,没有任何乐我没有尝试过的唯一一个是运行php artisan jwt:secret,因为我无法在000webhost中运行命令,或者我只是不知道如何执行此操作。

对不起,如果这不是足够的信息,但我是api的新手,这是我最后的希望。谢谢。

php laravel api jwt shared-hosting
1个回答
0
投票

您的配置文件夹(config / jwt.php)中有一个jwt.php文件。请在您的.env文件中使用生成的jwt密钥替换JWT_SECRET

在jwt.php文件中

'secret' => env('JWT_SECRET', 'PLACE YOUR JWT KEY HERE'),

希望这能解决你的问题

© www.soinside.com 2019 - 2024. All rights reserved.