Vue.js를 사용하여 Spring Boot를 사용하여 RESTful API에서 JWT 로그인 양식을 구현하려고 하는데 요청에 전달자 토큰을 추가하지 않으면 403 상태만 표시됩니다. 허가 없이 액세스할 수 있도록 끝점을 설정했으며 우체부에서는 인증 헤더 없이 요청을 보낼 수 있습니다. 이것은 Spring의 보안 구성의 일부입니다.
으아악POST 요청을 수행하는 vue.js 서비스는 다음과 같습니다.
으아악같은 토큰을 요청한 부분에 접근하는데 토큰이 필요 없도록 만들고 싶은데... 방법이 없을까요?
100% 확실하지는 않지만 403은 CSRF 보호로 인해 발생할 가능성이 높습니다. 서버에서 JWT 인증을 활성화하는 방법에 대한 예는 JWT 로그인 예를 확인하세요.
요약하자면, HTTP 기본(
.httpBasic()
)并禁用会话管理(.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
),您还可以禁用CSRF (.csrf() .disable()
)을 활성화한 경우입니다. 상태 비저장 서버(세션 관리 측면에서)는 CSRF 보호에 덜 취약하므로 이는 원하는 작업을 달성하는 데 권장되는 방법입니다.자체 인증 엔드포인트를 구현할 수도 있습니다. 다음은 예입니다. 이 경우 활성화할 필요가 없습니다
.httpBasic()
。在这种情况下,您可以使用.oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt)
. JWT 인증에 대해 자세히 알아보려면 Tanzu 화요일 토크를 확인하세요(이유와 그렇지 않은 이유).서버의 모든 세션 형태는 CSRF 공격에 취약하다는 점을 지적하는 것이 중요합니다. 따라서
JSESSIONID
또는 유사한 콘텐츠가 브라우저에 들어가지 않도록 하는 것이 중요합니다. 이전에도 유사한 질문이 자주 제기되었으므로 이 질문 및 기타 유사한 질문을 참조하세요.