찾다

 >  Q&A  >  본문

Sanctum에서 선택적 로그인이 있는 사용자에 대한 라우팅 설정

<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>
P粉741678385P粉741678385520일 전537

모든 응답(1)나는 대답할 것이다

  • P粉517814372

    P粉5178143722023-08-07 09:40:16

    사용자가 인증을 위해 Sanctum을 사용하는 경우 auth('sanctum')->check()를 사용해 보세요.

    회신하다
    0
  • 취소회신하다