La réplication des revendications en tant qu'en-têtes est obsolète et sera supprimée de la v4.0 - Problème de passeport Laravel dans le package lcobucci / jwt

Nov 25 2020

J'utilise laravel/passport:7.5.1package dans mon projet laravel et j'ai récemment été confronté à cette exception. Une idée? Je rétrograde le lcobucci/jwt:3.4.0paquet à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.

Trace de la pile:

"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
}

Réponses

6 LuísCobucci Nov 25 2020 at 20:09

Je suis profondément désolé d'avoir causé de la confusion ou des problèmes. Vérifiez s'il vous plaîthttps://github.com/lcobucci/jwt/issues/550#issuecomment-733557709 pour mon explication complète sur la raison pour laquelle cette approche a été adoptée et pourquoi elle n'est pas considérée comme une pause BC dans mon PoV.

19 AhmedNasser Nov 29 2020 at 21:00

Ce problème m'a obligé à savoir que laravel / passeport utilise le serveur phpleague / oauth2 et le serveur phpleague / oauth2 utilise lcobucci / jwt "3.3.3".

composer require lcobucci/jwt=3.3.3

Je n'aurais pas pris la peine de vérifier cela si tout fonctionnait bien aujourd'hui après avoir exécuté la mise à jour du compositeur sur mon application.