수업 정리 kakao/#2

최동민·2022년 6월 23일
0

Spring 수업정리

목록 보기
28/47

이메일 -> 인증요청

정규화
중복 확인
발송 (6자리)

코드 -> 인증

인증번호 확인

인증번호를 이메일로 보내면 그 인증번호를 어떻게 인식할까?
맞는 인증번호인지 어떻게 알까? DB에 그 인증번호를 넣어두어야 할 것.

회원가입 시킨 것이 아니기 때문에 이메일에는 외래키 X

해커가 인증번호와 이메일을 다 확인 할 수도 있다.
그래서 보안을 위해 토큰이 필요하다

발송이 이루어질 때 DB에는 인증번호, 이메일, 토큰이 DB에 들어가야하고
이메일 인증번호는 이메일로 날라가야하고
토큰은 xhr을 통해 code에 걸어두어야 한다. 브라우저에게.

input hideen은 눈에 보이지 않는 타입.
으로 토큰을 집어넣어야 한다.

사용자가 인증할 때 서버로 넘어가야 하는게 인증 코드와 토큰이다.

4개의 부류가 있다.
내 사이트에 가입하려는 사람
해커
이메일 서버
서버이자 DB

서버이자 DB 가 정보를 적어두면 아무도 못본다.
내 사이트에 가입하려는 사람이 요청한다. 이런 이메일로 가입할 것이라요구를 한다. 그럼 정규화한지, 중복이 있는지, 확인할 것.
괜찮으면 이메일 서버에 인증 코드와 토큰을 알려준다.

근데 만약 해커가 내 사이트에 가입하려는 사람의 화면을 보고 있었다면?
그럼 해커는 다 알겠지. 만약 토큰이 없다면 저걸로 해커가 회원가입을 할 수 있다는 것.
토큰은 화면만 봐서는 알 수 없다. 해커는 모른다는 것.
보안이 된다는 것.
결국 내 사이트에 가입하려는 사람이 서버이자 DB에 인증코드,이메일,토큰을 들고 요청하면 받아주면 됨.

UserController 생성

UserService

테이블 추가

entities 안에 member 패키지 안에
EmailCodeEntity 추가. 게터세터.

UserController 에서 리퀘스트파람 지우고 엔터티와 request 추가

UserService String email 지우고 타입 엔터티로 변경

UserController


enums의 member 만들고
EmailCodeRequestResult

vos의 member 만들고
EmailCodeRequestVo

IResult

EmailCodeRequestVo

UserController에서 Ua 지정

IUserMapper 생성

UserService에서 FAILURE 추가

UserMapper.xml 생성

UserService에서 DUPLICATE 추가

profile
코드를 두드리면 문이 열린다

0개의 댓글