728x90
Access to XMLHttpRequest at 'http://localhost:8080/login' (redirected from 'http://localhost:3000/login/welcome') from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
이런 오류가 발생해서 프론트->서버로 데이터 전달이 불가능했다.
여러 해결책을 찾아봤는데 프록시 설정은 이미 되어 있었고, 저 CORS 정책에 대해 해결할 수 밖에 없었다...
이전에 Security에 대한 설정은 전혀 건드리지 않았는데, 아마 JWT를 위해 security 관련 의존성을 추가한게 문제였을지도 모르겠다...
먼저 코드는
이 블로그를 그대로 따라했고, 해결되었다. 저 링크 포트에 내 프론트 서버를 작성해주면 된다.
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(final CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:3000")
}
}
CORS란 Cross-Origin Resource Sharing으로 클라이언트가 서버에 데이터를 전송하기 전, 인가된 사용자인지 검증을 받은 후 서버와 커뮤니케이션이 가능한 시스템이다.
출처
[Spring] CORS 설정하기
서론 저는 지금 간단한 토이 프로젝트를 하나 진행중인데요.
learnote-dev.com
'Web' 카테고리의 다른 글
API란? (0) | 2024.06.21 |
---|---|
[Spring+React] Session으로 사용자 정보 관리하기 (0) | 2024.04.17 |
[React] 동기와 비동기 / async와 await (0) | 2024.04.15 |
[Spring+React] 리액트에서 보낸 json 스프링에서 받기 (0) | 2024.04.06 |