Skip to content

[Spring] 관리자 신청 관련 이슈 #33

@hwanld

Description

@hwanld

사용자 플로우

  1. 관리자 어플리케이션에서 일반 사용자가 관리자 신청 버튼을 클릭한다.
  2. 어플리케이션에서 사용자가 로그인을 한다.
  3. 제한 시간 이내에 서버 관리자로부터 전달받은 인증번호와 함께 관리 지역을 입력한다.
  4. 전달받은 인증번호를 서버에 전달해서 승인이 떨어지면 관리자 계정으로 업그레이드 된다.

서버 플로우

  1. 사용자 플로우의 1번, 2번 항목은 기존과 동일한 로직으로 처리한다. (일반 사용자의 로직과 동일)
  2. 사용자 플로우 3번에서 관리자 신청 API을 호출하면 Redis 캐시 서버에 5분의 TTL을 가진 랜덤 인증번호를 하나 저장한다. 동시에 생성된 인증번호를 로그에 남긴다.
  3. 사용자가 인증번호, 지역코드와 함께 관리자 신청 인증번호 인증 API를 호출하면 Redis 캐시 서버의 인증번호 값과 비교한다.
  4. 인증번호가 동일하다면 해당 사용자를 관리자로 업그레이드 한다. 만약 인증번호가 일치하지 않다면 Redis 캐시 서버의 인증번호를 즉시 삭제하고 403 에러를 리턴한다.

프론트 플로우

  1. 관리자 신청 버튼 클릭 시 로그인 화면으로 이동
  2. 로그인 성공 시 인증번호, 지역을 입력받는 폼을 띄움과 동시에 관리자 신청 API를 호출한다.
  3. 인증번호와 지역 정보를 폼으로 채운 다음 사용자가 신청 버튼을 클릭할 때, 관리자 신청 인증번호 인증 API를 호출해서 인증을 요청한다.
  4. 인증에 성공하면 관리자 로그인 페이지로 이동하고, 인증에 실패하면 403 에러에 맞는 예외처리를 진행한다.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestquestionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions