배포된 주소로/login이 첫 화면인데 카카오 로그인 후 white lable error가 났다.
로그인 담당이 내 쪽이 아니어서 몰라서 단톡방 읽고 있었는데 똑똑한 프론트분께서 해결해주심!! \
프론트분의 분석은 아래와 같았다.
1. 리액트에서 SPA 사용중, 카카오 redirect uri에 대해서 spa로 처리
2. 하지만, 이를 빌드해서 서버에서 제공하는 방식일 때, 카카오 redirect uri에 대해서 spa처리가 되지 않음
=> 그 uri자체에 대해서 접근이 되어서 whitelabel error 발생
*예를 들어서, http://배포주소/login 화면에서 새로고침해봐도 whitelabel error가 발생하는데 spa처리가 되지 못하고,
http://배포주소/login 자체에 대해 get 요청이 들어가게 됨.
https://copyprogramming.com/howto/whitelabel-error-page-after-refresh
에 solution2를 따라 해봤다.
보니까 ErrorController란 라이브러리도 있었고 @ReqeustMapping도 있고 ModelAndView라는 타입도 있고
forward:/가 뭔지도 새롭게 깨닫고, 이런것도 스프링백에서 처리를 해줘야하는 경우도 있음을 깨달았다.
프론트와 백이 같이 작업되면서 생길 수 있는 문제를 이렇게 접할 수 있어서 너무 좋았다.
package com.umc.bobmate.login.controller;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@RestController
@CrossOrigin(origins = "*", allowedHeaders = "*")
@RequiredArgsConstructor
public class IndexController implements ErrorController {
private static final String path = "/kakaoLogin";
@RequestMapping(value=path)
public ModelAndView saveLeadQuery(){
return new ModelAndView("forward:/");
}
}
나중에 더 공부해보기 프론트쪽!
'Project Record' 카테고리의 다른 글
자바 에러 처리의 중요성 (1) | 2024.09.18 |
---|---|
카카오 프론트와 연결 중 에러 기록 (0) | 2024.09.11 |
[error] port 연결문제 + 프리즈마 테이블 초기화 문제 (0) | 2024.06.03 |
[BobMate] 프론트 파일을 AWS에 업로드?! (0) | 2024.02.17 |
[BobMate] 개발회고2 - 에러 삽질 기록 502 에러 (0) | 2024.02.09 |