php - 不推荐将声明复制为标头,并将从 v4.0 中删除 - lcobucci/jwt 包中的 Laravel Passport 问题
问题描述
我laravel/passport:7.5.1
在我的 laravel 项目中使用包,最近遇到了这个异常。任何想法?lcobucci/jwt:3.4.0
我临时将包降级 为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.
堆栈跟踪:
"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
}
解决方案
这个问题迫使我知道laravel/passport
使用thephpleague/oauth2-server
和thephpleague/oauth2-server
使用lcobucci/jwt
“3.3.3”。
composer require lcobucci/jwt=3.3.3
如果我今天在我的应用程序上运行 composer update 后一切正常,我就不会费心检查这个。
推荐阅读
- java - 从 DatePicker 控件中排除特定日期的问题
- mysql - 无法读取未定义的属性“查询” - MySQL NodeJS
- windows - 设置内容错误:该进程无法访问该文件,因为它正在被另一个进程使用(Powershell)
- java - 从main中的另一个类方法调用数组
- asp.net - EF Core 中的错误:在前一个操作完成之前在此上下文中启动了第二个操作
- javascript - 使用媒体片段并防止浏览器重新加载目标 HTMLMediaElement
- mongodb - Mongodb是否可以将“跳过”指定为索引范围?
- amazon-sqs - SQS - 为什么限制最大消息大小?
- spring-boot - Spring AccessDeniedException:访问被拒绝但登录成功(我被重定向到家)
- sql-server - SSIS 如何在平面文件目标中抑制 CR/LF?