Configurer le routage pour les utilisateurs avec connexion facultative dans Sanctum
P粉741678385
2023-08-06 12:46:33
<p>Sanctum partage le middleware Auth:sanctum et cela fonctionne. Jetez un œil à ce code : </p>
<pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () {
Route::post('/profile', [TestController::class, 'test']);
});</pré>
<p>Et la méthode du contrôleur : </p>
<pre class="brush:php;toolbar:false;">test de fonction publique()
{
si (Auth::check()) {
renvoie « utilisateur » ;
} autre {
renvoyer « Invité » ;
}
}</pré>
<p>Le problème est que si mon itinéraire utilise le middleware "auth:sanctum", tout fonctionne correctement pour les utilisateurs connectés, mais pour les invités, j'obtiens une erreur "Non autorisé". Sans utiliser ce middleware, l'authentification ne fonctionne pas correctement et ne reconnaît pas si je suis connecté (renvoie toujours 'Invité'). Comment puis-je résoudre ce problème? Je souhaite afficher l'utilisateur lorsqu'il est connecté, sinon "Invité" doit être affiché. </p>
Si l'utilisateur utilise Sanctum pour l'authentification, essayez d'utiliser : auth('sanctum')->check().