이 글은 이 책을 참고하여 쓰여졌습니다.
저번에 성공적으로 프로젝트를 배포했지만 로그인 기능이 작동하진 않는다.
이는 네이버와 구글의 API 서비스에 EC2 주소를 등록해야 하기 때문이다.
먼저 console.cloud.google.com 에서 API 및 서비스 -> 사용자 인증 정보
해당 어플리케이션을 선택하여 URI에 주소를 추가해준다. DNS 퍼블릭:8080/login/oauth2/code/google
또한 OAuth 동의 화면에서도 승인된 도메인 란에 http와 포트를 제외하고 입력해준다.
developers.naver.com 에서 네이버도 수정해준다.
이렇게 다 설정해주고 다시 접속해 보았는데..
로그인 시도를 해도 이 창이 뜨면서 정상적으로 로그인되지 않았다.
혹시몰라서 재배포도 해보았지만.. 여전히 문제는 해결되지 않았다.
그래서 열심히 생각하고 찾아본 결과.. DB에 문제가 있다는 것을 알아냈다.
기존에 user DB를 추가할 때 칼럼을 몇개 빼먹었었다.. 이를 수정하고 다시 로그인을 시도하는데..
또다른 에러가 뜬다. 그런데 여기서는
이렇게 다시 돌아가보면 로그인은 잘 된 것으로 나온다. 그래서 글을 등록하려 하면..
403에러메시지가 뜬다. 이는 권한이 없어서 글을 작성하지 못하는 것인데.. 로그인 시 권한을 추가해주어야 겠다.
웃긴건 구글 로그인은 로그인 시 에러 페이지가 뜨는데 네이버는 그냥 로그인이 잘 된다.(물론 글은 안써진다)
OAuthAttributes.java 파일에서 toEntity의 role을 GUEST에서 USER로 바꾸어 주면 된다.
수정 후 깃허브 푸시 후 재배포
이미 GUEST로 지정되어있던 데이터를 삭제해준다.
? 안된다. DB에서 쿼리를 쳐봐도 로그인 했는데 아무 엔티티도 생성되지 않는다...
웃긴건 새로운 계정으로 로그인하여 글 작성시 작성이 된다. 뭐지..?
테이블에 캐시? 같은 데이터가 남아있어서 그런거 같아서 테이블을 전체 삭제하고 다시 생성했다.
이제 잘 된다!
'따라 공부하기 > Spring boot 혼자 개발하는 웹 서비스' 카테고리의 다른 글
[Spring Boot]RDS 환경 설정과 배포 후 접속 (0) | 2021.01.03 |
---|---|
[Spring Boot]네이버 로그인 기능 추가 (0) | 2020.12.31 |
[Spring Boot]어노테이션 기반으로 개선 + 세션 저장소 변경 (0) | 2020.12.30 |
[Spring Boot]구글 계정 연동 등록 (0) | 2020.12.29 |
[Spring Boot]OAuth2 사용을 위한 구글 서비스 등록 (0) | 2020.12.28 |
댓글