본문 바로가기
Project Record

[BobMate] white label error

by 희디 2024. 2. 19.

배포된 주소로/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:/");
    }

}

 

나중에 더 공부해보기 프론트쪽!