에러노트
Springboot와 OAuth2.0 사용한 네이버 로그인 연동시 yaml parsing error 해결
까뮈_b
2022. 5. 12. 10:27
이동욱님의 스프링부트와 AWS로 혼자 구현하는 웹서비스를 보면서 네아로 소셜로그인 연동을 하던 중,
책의 예제인 .properties를 .yml파일로 바꿔서 적용 시키고 있었는데, 메인 어플리케이션 구동시, 자꾸만 yaml파일 parsing error를 내뱉었다.
작성중인 yaml 파일은 아래와 같다.
구글과 달리, 네이버는 Spring Security를 공식적으로 지원하지 않아서, Common-OAuth2Provider에서 알아서 해주던 설정을 따로 추가해줘야 한다.
위와 같은 에러 메세지를 뿜고 있다. yaml.snakeyaml.parser.ParserException: while parsing a block mapping작성된 구문에 오류가 있어, yaml을 파싱하는 과정에서 오류가 생겼다는 건데..
첫 에러메세지가 가르키는 라인은 client-id인데, 아무리봐도 구글의 그것과 다를바가 없다.
구글의 설정과 다른 것은
redirect-uri: {baseUrl}/{action}/oauth2/code/{registrationId}
authorization-grant-type:
이 부분이다. 그래서 위 2줄을 지우고 실행해봤더니 정상구동된다.
아마도 두 번째 에러메세지가 가르키는 redirect-uri 부분이 문제인 것 같다.
expected <block end>, but found '<scalar>' 라는 에러 메세지를 보며 유추해볼 때,
중괄호로 감싼 변수 바로 앞에 슬래시(/)가 붙어서 yaml 파일이 제대로 인식을 하지 못해서 parsing error가 발생한 것을 알 수 있었다.
그래서 간단하게 작은따옴표로 해당 코드를 묶어주었다
redirect-uri: '{baseUrl}/{action}/oauth2/code/{registrationId}'
이제 정상 작동 된다!