KAKAO 3

TypeORM - findOne with undefined

이슈의 발현 프로젝트를 진행하던 중, 갑자기 다른 사용자의 계정으로 로그인된다는 이슈가 제보됐다. 그럴 수도 없고, 그래서도 안되고, 믿기지 않았지만 제보해주신 분이 보내온 캡처를 확인하니 분명 내 계정으로 로그인된 모습이었다. 다행히도 많은 도움을 주신 덕에 금방 원인을 파악할 수 있었다. 원인 현재 필자의 프로젝트는 카카오 로그인을 지원하고 있다. 아직 비즈 앱으로 등록하지 않아서 EMAIL을 필수 동의 항목으로 설정할 수 없어서 선택사항으로 두었었는데, 제보해주신 분이 최초로 카카오 로그인을 시도할 때 이메일 제공에 동의하지 않았고, 그 탓에 이메일로 사용자 식별을 하고 있는 우리 서버가 undefined 값을 기준으로 사용자를 찾았더니 내 계정이 찾아진 것이었다. ..? 여기까지 읽고 무슨 소린지..

Backend/NestJS 2022.11.07

KakaoLink API(카카오로 링크 공유하기) in React

Kakao에서 제공하는 메시지 API는, 사용자가 카카오톡 친구에게 카카오톡 메시지를 보내는 기능을 제공한다. https://developers.kakao.com/docs/latest/ko/message/common Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 위 기능을 통해 서비스의 접근성을 높이고, 공유를 통해 쉽게 전파되는 효과를 예상했다. 메시지를 보내는 방법은 크게 2가지인데, 1. 카카오링크 API를 사용하는 방법 2. 카카오톡 메시지 API를 사용하는 방법 이렇게 2가지이다. 필자는 첫 번째 방법을 택했다. 그 이유는 위 표에서 ..

개발 일지 2022.03.29

카카오로 로그인하기 (JWT 토큰 발급, OAuth)

진행하고 있는 프로젝트에 접근성이 중요해서 카카오톡으로 로그인할 수 있도록 구현했었는데, 내가 짠 구조가 맞는지 의문이 들어 찾아보다가 OAuth+Spring Boot+JWT [OAuth + Spring Boot + JWT] 1. OAuth란? 프론트엔드와 백엔드의 역할 OAuth(Open Authorization)란? OAuth는 인증을 위한 프로토콜이다. 다른 인터넷 서비스의 기능을 다른 어플리케이션에서도 사용할 수 있게 해준다. OAuth는 인증(Authentication)과 인가(Authorization)를 모두 포함 velog.io 위 글을 보게 되어 구조를 수정하였다. 수정 전의 카카오 로그인 흐름은 아래와 같았다. 근데 https://developers.kakao.com/ Kakao Deve..

개발 일지 2022.03.25