맥락#
제품 웹은 이메일 6자리 코드로 가입과 로그인을 통합하고 비밀번호 생성·재설정을 제거했다. 프로젝트 오너는 이메일 경로를 주소와 비밀번호로 되돌리고, 로그인 자체에는 메일을 보내지 않으며 비밀번호 찾기를 함께 정리하기로 했다. [1]
결정#
- 제품 웹의 이메일 경로는 주소 + 비밀번호로 가입하고 로그인한다.
- 일반 로그인에는 메일을 보내지 않는다. [1]
- 이메일 가입은 로그인 주소로 확인 코드를 보내고, 확인 뒤에만 서비스를 쓴다. [2]
- 비밀번호 찾기는 로그인 주소로 코드를 보낸 뒤 새 비밀번호를 받는다. 임시비밀번호와 재설정 링크는 쓰지 않는다.
- 소셜만 있는 계정은 찾기 코드를 보내지 않고 소셜 로그인 안내만 한다. [3]
- 재설정·가입 확인 화면에서 없는 주소의 존재 여부를 드러내지 않는다.
- 발신 주소는 기존과 같이
info@offtable.kr이며 Resend 키와 SMTP는 환경별로 분리한다. [4] - 카카오·Google·Apple과 환경 분리, Supabase
auth.users와profiles계약은 유지한다. - 관리자 앱은 기존 사용자 OTP를 유지한다.
- 로그인 이메일은 회사 인증 이메일과 같은 칸이 아니다. 회사 인증은 가입 시 회사 인증이 소유한다.
제품 웹은 비밀번호 생성·로그인·재설정 API를 다시 사용한다. 로그인용 6자리 코드 화면은 제품 웹에서 제거한다.
대체된 결정#
- ADR-0025의 비밀번호 없는 이메일 OTP 로그인 부분은 이력으로 남기고 현재 제품 웹 기준으로 쓰지 않는다.
- 소셜 로그인, 환경별 자격증명, 프로필 완성, 안전한
next경로는 ADR-0025가 계속 소유한다.
하지 않은 선택#
- Magic Link를 로그인 방식으로 되돌리지 않았다.
- 임시비밀번호를 메일로 보내지 않는다.
계정 나눔과 탈퇴 후 새 계정은 ADR-0032가 소유한다.
재검토 조건#
- 비밀번호 재설정 메일 미도착·오용이 로그인을 막는다.
- 관리자 OTP를 제품과 같은 비밀번호로 맞출 필요가 생긴다.
관련 문서: 사용자 인증 기획, 로그인 이메일 계정, 환경 분리 인증 ADR, 비밀번호 로그인 결정, 계정 규칙 결정