Maison  >  Questions et réponses  >  le corps du texte

Le middleware Laravel auth:api ne fonctionne pas avec les fichiers de route nouvellement créés

<p>J'ai une application Web utilisant Laravel 7. Sur l'application, j'ai récemment créé un nouveau fichier api.php dans un dossier appelé <code>api/v2</code> (<code>routes/api/v2/api.php< /code>). Le problème auquel je suis confronté est que dans le fichier api.php nouvellement créé, le middleware « auth:api » ne fonctionne pas. </p> <p>J'ai vérifié les en-têtes de requête et j'ai constaté que l'en-tête <code>authorization</code> pour ces routes était vide. Avec les anciens fichiers de routage, tout fonctionne bien. </p> <p>J'ai enregistré le nouveau fichier API dans RouteServiceProvider.php comme indiqué ci-dessous</p> <pre class="brush:php;toolbar:false;">Route::prefix('api/v2') ->middleware('api') ->espace de noms ($this->espace de noms) ->group(base_path('routes/api/v2/api.php'));</pre> <p>À l'exception du problème d'authentification, tous les routages fonctionnent correctement sans aucun problème. Puisque je ne peux pas appeler la méthode '$request->user()' à l'intérieur du contrôleur. </p> <p>PS : j'utilise Apache 2.4+</p> <p>Est-ce que quelqu'un sait pourquoi cela se produit ? </p>
P粉983021177P粉983021177386 Il y a quelques jours370

répondre à tous(1)je répondrai

  • P粉466290133

    P粉4662901332023-09-02 11:47:34

    Pouvez-vous partager votre fichier d'itinéraire ? Voici ce que j'ai essayé de faire et qui a tout aussi bien fonctionné :

    protected function mapAdminApiRoutes()
    {
        Route::prefix('api/admin')
             ->middleware(['api','jwt.verify','role:admin'])
             ->namespace($this->namespace.'\Admin')
             ->group(base_path('routes/admin-api.php'));
    }

    répondre
    0
  • Annulerrépondre