-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
사용자 플로우
- 관리자 어플리케이션에서 일반 사용자가
관리자 신청버튼을 클릭한다. - 어플리케이션에서 사용자가 로그인을 한다.
- 제한 시간 이내에
서버 관리자로부터 전달받은 인증번호와 함께 관리 지역을 입력한다. - 전달받은 인증번호를 서버에 전달해서 승인이 떨어지면 관리자 계정으로 업그레이드 된다.
서버 플로우
- 사용자 플로우의 1번, 2번 항목은 기존과 동일한 로직으로 처리한다. (일반 사용자의 로직과 동일)
- 사용자 플로우 3번에서
관리자 신청 API을 호출하면 Redis 캐시 서버에 5분의 TTL을 가진 랜덤 인증번호를 하나 저장한다. 동시에 생성된 인증번호를 로그에 남긴다. - 사용자가 인증번호, 지역코드와 함께
관리자 신청 인증번호 인증 API를 호출하면 Redis 캐시 서버의 인증번호 값과 비교한다. - 인증번호가 동일하다면 해당 사용자를 관리자로 업그레이드 한다. 만약 인증번호가 일치하지 않다면 Redis 캐시 서버의 인증번호를 즉시 삭제하고 403 에러를 리턴한다.
프론트 플로우
- 관리자 신청 버튼 클릭 시 로그인 화면으로 이동
- 로그인 성공 시 인증번호, 지역을 입력받는 폼을 띄움과 동시에
관리자 신청 API를 호출한다. - 인증번호와 지역 정보를 폼으로 채운 다음 사용자가 신청 버튼을 클릭할 때,
관리자 신청 인증번호 인증 API를 호출해서 인증을 요청한다. - 인증에 성공하면 관리자 로그인 페이지로 이동하고, 인증에 실패하면 403 에러에 맞는 예외처리를 진행한다.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested