개발자

이메일을 통한 인증번호 구현

2023년 02월 01일조회 1,468

제가 프론트쪽담당인데요 구현해야되는것 중에 1)이메일 입력하고 전송버튼 누른다 2)이메일로 인증번호 받는다 3)인증번호를 입력해서 인증버튼 누른다 이게 있어요 백엔드 개발자랑 얘기하는데 인증번호를 프론트에서 생성해서 html 메일폼을 api post로 넘기라는거에요 자기는 그걸 받아서 인증번호 저장하고 받은 html로 메일보내는 역할만 하겠다고.. 전 당연히 인증부분은 데이터관리하는 백엔드에서 해야된다고 생각해서 전 이메일만 api로 보내고 백엔드에서 인증번호 생성 후 거기서 메일보내야 한다고 생각하는데요 그후 사용자가 입력한 인증번호 맞는지만 체크하고.. 제가 프론트경력이 1년 밖에 안되다보니 이게 어딴게 맞는지 모르겠어서 자문을 구해봅니다 여기회사는 물어볼사람이 없어요

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 5

인기 답변

김대현님의 프로필 사진

해당 기능이, 사용자가 입력한 이메일 주소가, 정말 본인의 것이 맞는지 확인하는 용도라면, 응당 서버가 사용자나 프론트가 알지 못하는 비밀번호를 임의 생성해서 메일에 보낸뒤, 메일을 확인해서 돌아온 요청에 해당 비밀번호가 맞게 들어있는지를 검증하는 것 목표일 것 같습니다. 그런데, 그걸 프론트에서 생성한다는 건, 해당 POST요청을 해당 사용자가 임의로 조작해 보내서, 유효하지 않은 (본인의 것이 아닌데도) 이메일을 유효하다 판단 받을 수 있는 허점이 생기는 거겠죠. 대화에서 서로 어떤 오해가 있었을 수도 있고, 해당 백엔드 개발자가 잠시 착각을 했을 수도 있고, 아니면 그저 백엔드 개발자가 해당 부분에 대한 이해가 부족했을 수도 있고, 아니면 백엔드 개발자가 전반적인 기초 실력이 부족한 걸 수도 있고, 질문자님이 내용 전달이나 질문을 잘 못했을 수도 있겠습니다. 어쨌건 이 중, 가장 어려운 상황이, 백엔드 개발자의 전반적인 기초 실력이 부족한 경우인데요, 이 경우에는 앞으로도 계속 문제가 발생할 여지가 크기 때문입니다. 이건 아니길 바랍니다만, 이 경우라 하더라도, 대화 스킬이 대단히 중요해집니다. 상대의 무지나 잘못을 지적하는 것은 감정적으로 위험한 일이기 때문에, 대놓고 지적질하면 곤란합니다. 내가 걱정하는 바, 우려하는 바를, 상세히 설명하고, 고민을 털어놓는 식이거나 질문의 형식을 취하는 것이 바람직하겠습니다. 아니면 최소한 "제가 다르게 이해한 것 같아서 확인을 구한다"라는 덧말 정도는 붙여봄 직 하겠지요. 모쪼록 잘 해결하시고, 잘 해결된 내용 적어주시면 제게도 도움이 될 것 같습니다.

profile picture

익명

작성자

2023년 02월 02일

대화스킬ㅜㅜ 제게 많이 필요한 부분같네요 결론적으로 제가 그부분이 부족하여 말씀하신 내용 대로 정리해서 메일로 보냈습니다..대화하면 제가 말리는 스타일이어서 개선은 해야겠죠..많은 도움주셔서 감사합니다!!

인기 답변

손정현님의 프로필 사진

안녕하세요! 음, 좀 더 구체적인 상황을 알려주시면 좋을 것 같아요. 단순히 글만 봤을때는 충분히 백엔드에서 하는게 당연한거 아닌가라는 생각이 들었는데요. 스치며 지나가는 생각으로는 CSR이 아닌 SSR로 데이터를 내려주고 있다면 백엔드 서버로 요청이 날라가기 전에 프론트엔드 서버에서 인증 키 생성 정도는 할 수도 있지 않을까 싶었습니다. ex) 클라이언트 (브라우저/앱)에서 이메일 입력하고 전송버튼 누른다 -> 프론트 서버로 요청이 들어오면 인증 키를 생성해주고 백엔드로 같이 보내준다 - > 백엔드에서 생성된 인증 키를 DB에 저장하고 이메일을 발송해준다 저도 굳이?라고 생각되긴 합니다. 그냥 백엔드에서 처리해줘도 될 것 같은데, 글로는 표현이 안된 다른 문제가 있을 수도 있을 것 같네요 :)

암소메애님의 프로필 사진

저도 글쓴이와 같이 이상함을 감지했는데... 잘못 알아듣고 이해한 것 일수도 있으니.. 다시 물어보시구선 댓글 적어주세요..

kevin님의 프로필 사진

서버와 클라이언트 아니 자기분야밖의 그어떤사람과 맞다 틀리다 이분법적 사고를 가지고 생각하면 끝이 없는거 같아요... 뭔가가 있어서 그러는건지 의중을 한번 물어보시는것이 중요하지않을까 합니다

커리어리 AI 봇님의 프로필 사진

인증번호를 생성하고 메일을 보내는 부분은 백엔드에서 처리하는 것이 좋습니다. 프론트엔드에서 인증번호를 생성하면 보안에 취약할 수 있고, 백엔드에서 처리하면 안전한 방식으로 인증번호를 생성하고 보낼 수 있습니다. 프론트엔드에서는 이메일을 입력받아 백엔드에 전송하고, 백엔드에서 인증번호를 생성하여 해당 이메일로 보내주는 것이 좋습니다. 이후에는 프론트엔드에서는 인증번호를 입력받아 백엔드에 전송하고, 백엔드에서는 입력받은 인증번호가 맞는지 체크하여 인증을 처리하는 것이 좋습니다. 따라서, 프론트엔드에서는 이메일을 입력받는 폼을 만들고, 이메일을 백엔드에 전송하는 기능을 구현하면 됩니다. 그리고 백엔드에서는 인증번호를 생성하고 이메일을 보내는 기능을 구현하고, 프론트엔드에서는 인증번호를 입력받는 폼을 만들고 백엔드에 인증번호를 전송하여 인증을 처리하는 기능을 구현하면 됩니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!