Opendocs Logo

[Concept | Auth] 회원인증 플로우 정리 (3) - 회원로그인 (SignIn)

3계층 구조의 서버환경에서 회원로그인 플로우를 정리한다.


> 작성일 : 2025-01-13
> Cloud : AWS


<1> 전체 플로우

IMG01

  • User(Browser) : 사용자가 브라우저를 통해 접근
  • Frontend : 프리젠테이션 (Client Tier)
  • Backend : 비즈니스 로직 (Application Tier)
  • Database : 데이터 (Data Tier)
  • SessionStore : 분산서버 환경에서 세션공유용 스토어



<2> 상세

<2-1> 사용자 로그인 요청

브라우저를 통해서 로그인폼이 전달된다.

IMG02

Frontend : 사용자에게 로그인진행 화면을 제공

<2-2> 로그인 API 호출

입력정보가 전달되어 유효성 체크

IMG03

Frontend : API 호출
Backend : DB를 통해 회원정보 조회

<2-3> 회원로그인 실패 처리

회원 조회불가, 비밀번호 불일치시 또는 기타 에러에 대한 처리

IMG04

Backend : 비즈니스 로직에 의해 에러를 리턴한다
  - httpStatus : 401 / 비밀번호 불일치, 토큰생성 불가, 토큰저장 불가
Frontend : 사용자에게 실패화면 제공

<2-4> 회원로그인 성공 처리

비밀번호가 일치하면 토큰을 생성하고 저장한다.

IMG05

Backend :
  - SessionStore에 회원세션 저장
  - httpStatus : 200 / 회원로그인 성공
Frontend : 사용자에게 성공화면 제공 / 토큰을 암호화된 형태로 쿠키에 관리
Session Structure
  - #1. Set Expire : 일정시간 미사용시 자동로그아웃을 위해 저장
  - #2. Set AccessToken : 세션의 유효시간 만료를 위해 저장
  - #3. Set RefreshToken : 세션의 연장가능시간 만료를 위해 저장
  - #4. ReSet Token List : 세션수 제한을 위해 저장 (중복로그인 방지지)
  - NoSQL(Redis)의 사용 / Pipeline구성


Tags : 사용자 로그인, 회원로그인 플로우, 로그인 API, 회원로그인 API, 세션스토어 운영



AD
ⓒ Opendocs. All Rights Reserved.