개발자
현재 동아리에서 프로젝트 진행중인 학부생입니다! 현재 회원가입 로직을 구현하고 있는데 인증코드 메일을 보내는 로직을 프론트엔드에서 맡을지 백엔드에서 맡을지 고민입니다! 백엔드에서 레디스를 사용하면서까지 이메일을 보낼 이유가 있을까요? 조금이라도 더 좋은 방향으로 구현하고자 합니다!
답변 2
“좋은 방향” 이라고 언급주셨는데, 질문자님이 생각하는 좋은 방향은 어떤건가요? 일반적으로 인증코드 메일 전송처럼 중요한 로직은 백엔드에서 담당합니다. 비즈니스 로직이라고 부르는데, 백엔드가 이를 주로 처리하고 프론트엔드는 “처리 요청”을 백엔드한테 보냅니다. 이렇게 하는 이유는 지피티가 잘 답변해준 것 같아서 참고해보세요! 한편 레디스라는 새로운 컴포넌트를 도입하는게 부담스러우신 것 같습니다. 관리포인트가 늘어나니까 맞는 말입니다. 근데 인증코드 메일 전송은 일반적인 DB만 있어도 구현이 가능하므로, 서버+DB 로만 먼저 구현해보시길 바랍니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 07월 11일
이메일 인증 로직은 백엔드에서 처리하는 것이 일반적입니다. 1. 보안: 프론트엔드는 사용자에게 직접 노출되기 때문에 악의적인 행동을 예방하기 어렵습니다. 이메일과 같은 중요한 정보를 보낼 경우, 사용자가 접근할 수 없는 백엔드 서버에서 처리하는 것이 안전합니다. 2. API 호출 제한: 대부분의 이메일 서비스 API는 요청 횟수에 제한을 두고 있습니다. 프론트엔드에서 이를 처리하게 되면 사용자마다 동시에 요청을 보내게 됩니다. 하지만 백엔드에서 처리한다면 서버가 모든 요청을 관리하여 제한을 초과하지 않도록 조절할 수 있습니다. 3. 상태 유지: 백엔드에서 Redis와 같은 데이터베이스를 사용하면 이메일 인증 코드와 그 상태(보냈음, 확인됨 등)를 관리하기 좋습니다. 따라서 회원가입시 이메일 인증 책임은 백엔드에서 맡는 것이 효율적입니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!