문제점

현재 소셜로그인시 JWT 토큰이 프론트 앤드 서버에 나오지 않는 문제점 발생

oauth2 로그인 구현내용

스프링 시큐리티를 이용해 oauth2 -clinet 라이브러리를 사용해 소셜로그인구현

client가 소셜로그인 버튼 클릭시 → spring security의 fillter을 타게되어서 소셜 로그인 인가,인증시

성공시 “SimpleUrlAuthenticationSuccessHandler”을 상속받은 클래스를 통해 성공시 onAuthenticationSuccess메소드에서 target url로 리다이렉트 되게 구현

백엔드 문제점 (이 부분이 문제 였다고 생각)

백엔드에서도 리다이렉트를 8080번대로 백엔드 서버로 리다이렉트 되고있었음. 그래서 토큰값이 프론트 서버까지 전달 안되는것 같다.

그래서 로그인 성공 시에는 프런트 서버로 리다이렉트되게 설정

http://localhost:3000/api/auth/success?access-token=[토큰값]&refresh-tokrn=[리프레쉬 토큰값]”

해결방안

지연님 의견

첫번째 방안

백엔드 자체에서 인증 처리가 모두 처리되는 방식이라면 url query string에 토큰을 전달

해당방안의 문제점

→해당 방법으로 고려 하긴 했으나. 현재 진행중인 프로젝트는 https : 433 인증서를 사용하지않는 Http :80 포트를 사용하고 있어 , 중간자 공격자가 네트워크에서 트래픽을 가로챌 수 있고, 이로 인해 보안이 매우 악화 될수 있다고 판단해서 해당 방법으로 하기 어렵다고 대답