在 Sanctum 中為可選擇登入的使用者設定路由
P粉741678385
2023-08-06 12:46:33
<p>Sanctum共享中間件Auth:sanctum並且它起作用。看一下這段程式碼:</p>
<pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () {
Route::post('/profile', [TestController::class, 'test']);
});</pre>
<p>以及控制器的方法:</p>
<pre class="brush:php;toolbar:false;">public function test()
{
if (Auth::check()) {
return 'user';
} else {
return 'Guest';
}
}</pre>
<p>問題是,如果我的路由使用了"auth:sanctum"中間件,對於已登入的使用者一切正常,但對於訪客,我會收到"未授權"的錯誤。如果不使用這個中間件,身份驗證無法正常工作,無法識別我是否已登入(始終返回'Guest')。我該如何解決這個問題?我想要在登入時顯示用戶,否則需要顯示"Guest"。 </p>
如果使用者使用 Sanctum 進行身份驗證,請嘗試使用: auth('sanctum')->check()。
#