본문 바로가기

카테고리 없음

인증, 인가, HTTP

 

인증과 인가

인증(Authentication) : 사용자가 누구인지 확인한다. 로그인 등.

인가(Authorization) : 작업의 권한이 있는지 확인한다. 로그인 후 마이페이지 접근 등.

 

 

HTTP : 데이터를 주고받기 위한 프로토콜(약속)이다.

 

특성

- 비연결성 : 응답 완료 후 연결을 끊는다.

- 무상태성 : 이전 데이터를 유지하지 않는다.

 

보완하기 위해 사용되는 방법

- 쿠키 : 클라이언트 측에서 상태 정보를 저장한다.

- 세션 : 서버 측에서 클라이언트의 상태 정보를 저장한다.

- 토큰: JWT라고 부른다. 복호화된 키는 서버에, 암호화된 키는 클라이언트쪽에 보관한다.

  Http의 header에 넣어서 사용한다.

- 보통 하나만 쓰이지 않고 함께 쓰인다.

- HttpOnly 옵션을 적용한 경우 javascript를 통한 쿠키 접근을 막아 XSS 공격을 방지한다.

  withCredential을 입력해야 데이터를 송수신 할 수 있다.

- 두가지 토큰을 사용하는 것이 일반적이다.

   Access Token : 인증에 사용된다. Heap memory,에 저장된다.

  Refresh Token : Access Token 발급에 사용된다. HttpOnly 쿠키에 저장된다.