Richten Sie das Routing für Benutzer mit optionaler Anmeldung in Sanctum ein
<p>Sanctum teilt die Middleware Auth:sanctum und es funktioniert. Schauen Sie sich diesen Code an: </p>
<pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () {
Route::post('/profile', [TestController::class, 'test']);
});</pre>
<p>Und die Controller-Methode: </p>
<pre class="brush:php;toolbar:false;">public function test()
{
if (Auth::check()) {
gebe 'Benutzer' zurück;
} anders {
return 'Gast';
}
}</pre>
<p>Das Problem besteht darin, dass, wenn meine Route die Middleware „auth:sanctum“ verwendet, für angemeldete Benutzer alles einwandfrei funktioniert, ich jedoch für Gäste die Fehlermeldung „Nicht autorisiert“ erhalte. Ohne die Verwendung dieser Middleware funktioniert die Authentifizierung nicht richtig und erkennt nicht, ob ich angemeldet bin (gibt immer „Gast“ zurück). Wie kann ich dieses Problem lösen? Ich möchte den Benutzer anzeigen, wenn er angemeldet ist, andernfalls muss „Gast“ angezeigt werden. </p>