Laravel Sanctum & NuxtJS SPA는 브라우저에서 csrf 쿠키를 생성할 수 없습니다.
P粉512363233
P粉512363233 2023-12-13 13:49:38
0
1
599

Laravel에 Sanctum이 포함된 백엔드 API가 있고 NuxtJS에 별도의 저장소 SPA가 있습니다

Sanctum으로 SPA를 인증하려고 합니다. 브라우저에서 CSRF 쿠키를 얻기 위해 Sanctum 문서를 따르려고 합니다.

문제는 Sanctum에서 제공하는 CSRF 토큰 엔드포인트를 호출하면 올바른 응답을 받지만 쿠키가 설정되지 않는다는 것입니다. 그게 다입니다. 오류가 없습니다. nuxt auth를 사용하려는지 아니면 그냥 오래된 axios 호출을 사용하려는지는 중요하지 않습니다.

내가 가지고 있는 것은 다음과 같습니다:

도메인 이름: API-publisher.local:8080; front-end-publisher.local:3000

NUXT 인증 구성

으아아아

AXIOS 구성

으아아아

sacred.php

으아아아

session.php

으아아아

이 설정을 다양하게 조합하고 변형해 보았으나 효과가 없었습니다. 무엇이 잘못될 수 있는지 아시나요?

P粉512363233
P粉512363233

모든 응답(1)
P粉311563823

이제 알아낸 것 같아요. 나는 그것을 작동시켰다.

그러므로 .local는 최상위 도메인이 될 수 없습니다. 그게 문제의 일부일 수도 있지만 확실하지 않습니다.

도메인 이름을 기존 이름으로 변경localhost하면 문제를 해결할 수 있지만 이 해결 방법에는 문제가 있습니다. 어떤 이유에서인지는 모르겠지만 어떤 엔드포인트를 호출하든 상관없이 API를 호출할 때마다 자동으로 XSRF 쿠키를 받습니다. 기묘.

가장 효과적인 방법은 도메인 이름을 api.publisher.compublisher.com로 변경한 후 Sanctum 문서의 모든 설정을 변경하는 것입니다.

도메인 이름에 각별히 주의하세요. 이름이 일치하고 올바르게 설정되었는지 확인하세요. 그것을 재구성하는 것은 매우 쉽지만 진단하는 것은 어렵습니다!

도움이 되기를 바랍니다!

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿