SWM-WeLike2Coding / ELSwhere-user-service

Spring Boot 기반 유저 서비스
0 stars 0 forks source link

회원가입시 서비스에 대한 약관동의 절차 필요 #61

Open kjungw1025 opened 2 days ago

kjungw1025 commented 2 days ago

백엔드

현재 로그인 회원가입시 각 oauth에 해당하는 /login과 /callback api를 모두 사용중 (처음 로그인 또는 회원가입시 /login api로 각 oauth 인증 페이지쪽으로 리다이렉션 해서 사용자가 해당 oauth에 로그인하면 /callback api로 플러터 앱으로 엑세스토큰과 리프레쉬토큰을 담은 ‘문자열’을 반환해줌)

기존 방식에서 회원가입 절차에 추가적으로 약관동의를 받아야하므로 백엔드 /callback api에 해당하는 서비스 코드 안에 추가적인 로직을 넣어주는 v2 버전을 구현해야함

추가적인 부분

유저 테이블에 기존에 로그인한적이 있는 유저인지 확인하고

  1. 테이블에 존재하는 사용자라면 String redirectUrl = "elswhere://callback?access_token=" + token.getAccessToken() + "&refresh_token=" + token.getRefreshToken(); 와 같이 액세스 토큰과 리프레쉬 토큰과 함께 플러터 앱으로 리다이렉션할 수 있는 문자열을 응답해주고

  2. 존재하지 않은 사용자라면, 기존 코드처럼 바로 유저 테이블에 저장하지 않고, 레디스에 저장해두었다가 String redirectUrl = "elswhere://약관동의페이지?signup_token=“ + token;와 같은 문자열을 응답해주기


프론트엔드

access_token이랑 refresh_token 받으면 정상적으로 서비스 이용,

"elswhere://약관동의페이지?signup_token=“ + token과 같은 문자열을 응답으로 받는다면, 약관동의페이지로 리다이렉션 후, 사용자의 약관동의 true/false 여부를 아래 API에 signup_token과 함께 담아서 요청


추가해야할 API

회원가입시 약관동의 여부를 확인하는 API true, signup_token -> 받은 token을 디코딩하여 유저 정보를 테이블에 저장 후, 액세스 토큰과 리프레쉬 토큰 응답 false, signup_token -> 테이블에 저장하지 않고, 오류 반환