본문 바로가기
Study in Bootcamp/Main Project

[Main Project] Day 18 : 카카오 로그인 성공 및 토큰에 레디스 적용해보기

by Bhinney 2022. 12. 2.

본 글은 프로젝트를 기록하기 위해 적은 글 입니다.

수정이 될 수 있으며, 정확하지 않을 수 있습니다.


💝 Refresh Token에 Redis 적용해보기

: Redis를 본격적으로 적용시켜보았다. Redis를 적용시키는 데에는 두 가지 방식이 있는데 그 중에서 Redis Template 방식을 이용하여 구현해보았다. 이것은 나중에 깃헙에 정리하면서 다시 할 생각이다. 해당 로그인을 해보았는데 이렇게 아래처럼 잘 저장이 된 걸 볼 수 있었다. 아래처럼 조회를 하면 잘 들어가지는 걸 보았다. 

사실 흐름은 MySQL 처음 배울 때처럼 아직 명확하게 이해되지는 않고 그냥 따라한 정도였다. 그래도 생각보다 어렵지 않게 따라해볼 수 있었다. 그래서 조금 더 공부해보려고 한다.


💝 카카오 로그인 성공

: 결국 카카오 로그인에 성공하였다...!!!!! 이유를 알 수는 없는데 나의 카카오톡 이름이 해바라기 이모티콘(🌻)으로 되어있었다. 이게 로컬에서는 잘 들어갔는데, 이게 서버에서는 name의 형식이 아니라고 떴다. 그래서 이름을 바꾸어보니 ... 잘들어간다....👏🏻 모든 문제는 에러 메세지가 알려주는 것 같다.

 

근데 너무 궁금한건 왜 저렇게 되는지 알아보고 싶다.

+ 추가

이유는 RDS DB 설정이 uft8mb3였기 때문이다. 그래서 이모지 부분을 지우거나, 디비 설정을 바꿔주었다. RDS에서 왜인지 적용이 잘 안되어 프로젝트에는 우선 일차적으로 SQL문으로 바꾸어주었다.

 

1️⃣ 이모지 지우기 (이름에서 이모지를 지움)

String name = profile.getKakao_account().getProfile().getNickname();
Pattern emoji = Pattern.compile("[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+");
Matcher emojiMatcher = emoji.matcher( name );
name = emojiMatcher.replaceAll("");

2️⃣ SQL 문으로 바꾸기

ALTER TABLE {테이블명} MODIFY COLUMN {컬럼} VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3️⃣ 우선 위에 두 해결책 보다는 RDS 파라미터 그룹을 먼저 바꿔보면 좋을 듯 하다.


🔥내일 할 일

  • 발표자료 제작
  • 발표문서 제작
  • 서버 확인

댓글