[英]Replicating claims as headers is deprecated and will removed from v4.0 - Laravel Passport Problem in lcobucci/jwt package
I'm using laravel/passport:7.5.1
package in my laravel project and recently faced with this exception.我在我的 laravel 项目中使用
laravel/passport:7.5.1
package 并且最近遇到了这个异常。 Any Idea?任何想法? I temperory downgrade the
lcobucci/jwt:3.4.0
package to lcobucci/jwt:3.3.3
我暂时将
lcobucci/jwt:3.4.0
package 降级为lcobucci/jwt:3.3.3
Replicating claims as headers is deprecated and will removed from v4.0. Please manually set the header if you need it replicated.
Stack Trace:堆栈跟踪:
"exception": {
"trace": [
"/var/www/app/vendor/lcobucci/jwt/src/Builder.php:334",
"/var/www/app/vendor/lcobucci/jwt/src/Builder.php:185",
"/var/www/app/vendor/lcobucci/jwt/src/Builder.php:201",
"/var/www/app/vendor/league/oauth2-server/src/Entities/Traits/AccessTokenTrait.php:34",
"/var/www/app/vendor/league/oauth2-server/src/ResponseTypes/BearerTokenResponse.php:28",
"/var/www/app/vendor/league/oauth2-server/src/AuthorizationServer.php:202",
"/var/www/app/vendor/laravel/passport/src/PersonalAccessTokenFactory.php:114",
"/var/www/app/vendor/laravel/passport/src/PersonalAccessTokenFactory.php:71",
"/var/www/app/vendor/laravel/passport/src/HasApiTokens.php:67",
"/var/www/app/app/Http/Controllers/Auth/Shop/GetTokenController.php:84",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Route.php:219",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Route.php:176",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php:680",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:58",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php:682",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php:657",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php:623",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Router.php:612",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30",
"/var/www/app/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php:65",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/app/dms-pubsub/src/Middlewares/CaptureCorrelationIdMiddleware.php:40",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/app/Http/Middleware/TrimData.php:31",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/fideloper/proxy/src/TrustProxies.php:57",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:62",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:163",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:104",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151",
"/var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116",
"/var/www/app/public/index.php:55"
],
"class": "ErrorException",
"file": "/var/www/app/vendor/lcobucci/jwt/src/Builder.php:334",
"message": "Replicating claims as headers is deprecated and will removed from v4.0. Please manually set the header if you need it replicated.",
"code": 0
}
This issue has forced me to know that laravel/passport
uses thephpleague/oauth2-server
and thephpleague/oauth2-server
uses lcobucci/jwt
"3.3.3".这个问题迫使我知道
laravel/passport
使用thephpleague/oauth2-server
和thephpleague/oauth2-server
使用lcobucci/jwt
"3.3.3"。
composer require lcobucci/jwt=3.3.3
I wouldn't have bothered to check this if everything worked fine today after I ran composer update on my app.如果我今天在我的应用程序上运行 composer update 后一切正常,我就不会费心检查这个。
I'm deeply sorry for causing confusion or issues.对于造成混乱或问题,我深表歉意。 Please check https://github.com/lcobucci/jwt/issues/550#issuecomment-733557709 for my full explanation on why this approach was taken and why it isn't considered a BC-break in my PoV.
请查看https://github.com/lcobucci/jwt/issues/550#issuecomment-733557709了解我对为什么采用这种方法以及为什么在我的 PoV 中不将其视为 BC 中断的完整解释。
I know how people love a copy and paste answer.我知道人们如何喜欢复制和粘贴答案。 I fixed this by added this code to
app/Providers/AppServiceProvider.php
in the boot
method我通过在
boot
方法中将此代码添加到app/Providers/AppServiceProvider.php
来解决此问题
if (config('app.debug')) {
error_reporting(E_ALL & ~E_USER_DEPRECATED);
} else {
error_reporting(0);
}
This is what the author of suggested.这是作者建议的。 See @Luís Cobucci answer.
请参阅@Luís Cobucci 的回答。 Or look here: https://github.com/lcobucci/jwt/issues/550#issuecomment-733557709
或者看这里: https://github.com/lcobucci/jwt/issues/550#issuecomment-733557709
If you do @Ahmed Nasser method of requiring an old version then you will probably have issues in the future.如果您使用@Ahmed Nasser 方法要求旧版本,那么您将来可能会遇到问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.