Richten Sie das Routing für Benutzer mit optionaler Anmeldung in Sanctum ein
P粉741678385
2023-08-06 12:46:33
<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>
如果用户使用 Sanctum 进行身份验证,请尝试使用: auth('sanctum')->check()。