-
Notifications
You must be signed in to change notification settings - Fork 2
사용자 안내서
yccs-26 edited this page Sep 14, 2020
·
1 revision
RABUMS (서버) : NERA(클라이언트)가 요청하는 파일에 대한 응답을 할 수 있도록 구성된 시스템이다. NERA(클라이언트) : RABUMS와 통신하는 대상이며 사용자와 직접적으로 연결되어 있는 시스템이다.
hash 함수란? 원본 데이터를 소문자, 대문자, 그리고 숫자의 혼합으로 문자열로 치환하는 함수이다. ex) "HELLO WORLD" => "SEVMTE8gV09STEQ=" => "ae1306b81859d3c99e5fa9bf29c7e3ad97965af7e4644b7802e0c00ee73c5839"
hash 함수를 사용하여 pw를 안전하게 저장한다. => HASH( HASH ( HASH(PW) ) + HASH(token) ) 로 만든 값을 userPw로 이용한다.
토큰(token)이란? 서버(RABUMS)와 클라이언트(NERA)가 서로 데이터 교환을 위해 클라이언트에 부여하는 객체이다. 세션 식별자(Session ID)라고 하기도 한다. (토큰이 유출된 경우 폐기한 후 새로운 토큰을 사용한다.)
회원인증 절차
- ID와 PW를 입력한다.
- NERA(클라이언트)가 사용자로부터 정보를 받으면 접근 허가 토큰(token)을 사용하여 정보가 맞는지 RABUMS(서버)에 확인을 요청한다.
- token, userId, 그리고 userPw가 RABUMS에 있는 정보와 일치하면 NERA에 응답한다.
응답 내용 : _id, userId, userName, userNumber
- _id : RABUMS에서 관리하는 사용자들의 고유 식별 번호
- userId : 사용자 id
- userName : 사용자 이름
- userNumber : 사용자 학번
- 옳지 않는 요청에는 메세지를 보낸다.
- 400 : 잘못된 요청 ; 요청에 token, userId, userPw가 정상적으로 확인되지 않는다.
- 401 : 유효하지 않은 token
- 403 : 회원가입되어 있지 않은 회원이거나 ID나 PW가 잘못 입력되었다.
- 500 : 서버 내부 오류