웹 앱 프로젝트 경험과 해결 - 인증 로직

dropKick·2020년 9월 16일
0

목표

  • 블라인드와 같이 유저는 앱 내에서 학교 + 닉네임으로 나타나야 한다
  • 인증 메일을 통해 소속을 인증 받아야한다.

기본 로직 구상

앱 접근

  1. 로그인 화면
  2. 유효 토큰 존재 검사
    2-1. 존재한다면 토큰 유효 검사
    2-2. 존재하지 않는다면 재로그인 요청
  3. 재로그인에 따른 토큰 유효 검사
    캐시 서버에 따른 토큰 유효성 검사 방법 필요(Redis)
  4. 토큰이 유효하지 않다면 재로그인 요청
  5. 토큰이 존재하고 유효하다면 자동 로그인

회원 가입

  1. 유저 이메일 입력
    1-1. 해당 이메일로 인증 코드 메일 발송(푸시)
    1-2. 인증 코드 검사 통과 시 추가 작성 페이지로 모바일 폼 넘기기 필요
    1-3. 넘어온 정보를 RDS MariaDB에 저장, 200 상태코드 발송

로그인

  1. 유저 이메일과 비밀번호 입력
    2-1. DB 데이터와 유효성 검사
    2-2. 성공 시 JWT 토큰 반환
    2-3. 여기서 캐시 역할을 하는 무언가에 토큰을 놔둬야 함
    그래야 토큰 유효성 검사로 자동 로그인 가능

  2. 이후 인증 필요 로직마다 Authorization 헤더를 통해 토큰 발송

  3. 토큰이 이미 존재하면 패스

구현

as-is

  • 중복체크
  • CRUD

to-be

  • 메일 서버 연동
  • 토큰 인증 개선
  • Spring Security 필터 인증 개선

0개의 댓글