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;">공개 함수 테스트()
{
if (Auth::check()) {
'사용자'를 반환합니다.
} 또 다른 {
'게스트'를 반환합니다.
}
}</pre>
<p>문제는 내 경로가 "auth:sanctum" 미들웨어를 사용하는 경우 로그인한 사용자에게는 모든 것이 잘 작동하지만 게스트에게는 "Unauthorized" 오류가 발생한다는 것입니다. 이 미들웨어를 사용하지 않으면 인증이 제대로 작동하지 않고 로그인되어 있는지 인식하지 못합니다(항상 'Guest'를 반환함). 이 문제를 어떻게 해결할 수 있나요? 로그인했을 때 사용자를 표시하고 싶습니다. 그렇지 않으면 "Guest"가 표시되어야 합니다. </p>
사용자가 인증을 위해 Sanctum을 사용하는 경우 auth('sanctum')->check()를 사용해 보세요.