일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- @tailwind components
- render phase
- @tailwind
- server components
- @tailwind utility
- commit phase
- iron-session
- js
- 프로그래머스
- supabase realtime
- 3진법 뒤집기
- 리액트
- revalidatetag
- static pages
- RECOIL
- dynamic pages
- 자바스크립트
- SSR
- 타입스크립트
- createbrowserrouter
- revalidatepath
- unstable_nostore
- sever action
- image component
- 클로저
- client components
- interceptor routes
- sever components
- CSS
- @tailwind base
- Today
- Total
개발하는 너구리
TIL-23.05.25 본문
문제점
소셜로그인 기능
이번 프로젝트에서 내가 담당하는 기능들 중 카카오 소셜로그인 기능이 있어, 구현을 했다.
워낙에 참고자료들이 많아서 쉽게 로직을 구현했고, 정상적으로 작동을 하는것을 확인했는데 그래도 처음 만들어 본 기능이라 블로그에 남기려한다.
기본적인 flow는 이렇다.
프론트엔드는 카카오로부터 받은 인가 코드를 백엔드에 전달 -> 백엔드는 전달 받은 인가 코드 가지고, 카카오 인증 서버에 토큰 발급 요청
-> 전달 받은 카카오 토큰을 가지고 카카오 리소스 서버에 유저 정보를 요청 -> 전달 받은 유저 정보를 가지고 회원가입 중복 여부 확인 ->
중복(카카오로 해당 사이트에 소셜로그인 경험 있는)이라면 jwt 토큰을 발급하여 프론트엔드에 전달/
중복이 아니라면 새로운 유저로 DB에 저장 후, jwt토큰 발급하여 프론트엔드에 전달
명목 상 회원가입/로그인으로 분리한것이지, 실제로 매 로그인마다 기존 유저인지 새로운 유저인지를 판단해야하는 방식이다. 즉, 회원가입/로그인은 하나의 개념이다.
시도한점
실제로 로그인/회원가입 기능이 분리된 소셜로그인 방식도 존재했다. 이게 하고싶어서 계속 찾아봤다...
카카오싱크 라는 방식. 실제로 비즈니스 사이트들은 이걸 이용하고있고, 한번 회원가입 시 동의를 받으면 로그인은 동의페이지를 경유하지않고 즉각적으로 로그인되는 방식이다. 이걸 사용하기 위한 조건들에 우리 프로젝트는 부합하지않아(사업자 등록, 비즈니스등의 조건) 사용하지못하지만, 현재로서는 내가 구현한 방식이 최선인듯하다. 물론 맘에 쏙 들지는않는다
알게된점
원하는 기능을 구현하는데 로직이 아닌, 이용하는 서비스의 제한사항으로 구현하지 못할수도 있다는 것
'TIL' 카테고리의 다른 글
TIL-23.05.29 (0) | 2023.05.29 |
---|---|
TIL-23.05.27 (0) | 2023.05.28 |
TIL-23.05.24 (0) | 2023.05.25 |
TIL-23.05.23 (0) | 2023.05.23 |
TIL-23.05.22 (0) | 2023.05.23 |