Session,Cookie, OAuth,Token

zioo·2021년 12월 20일
0

Backend

목록 보기
11/40

HTTP란?
개요 : 클라이언트-서버 프로토콜
특징 : HTTP는 상태를 저장하지 않는다(즉, 한번 통신하고 끝)

Session

정보 교환을 하는 둘 이상의 통신 장치의 송수신 연결 상태

  • 개요

    • 서버에서 관리하는 어떠한 상태를 세션이라고 한다.(로그인 정보 등)
    • 모든 Request별로 상태를 유지하는 것은 서버자원 낭비
    • HTTP 특성상 상태를 저장하지 않기때문에, 같은 브라우저가 Request를 하여도 같은 세션인줄 모른다

사이트를 방문하면, 서버로 부터 설치되는 기록 정보 파일

  • 개요

    • 서버가 클라이언트를 기억하기 위한 방법의 일종
    • 해당 세션 / 브라우저 종료시, 쿠키 만료
  • 동작방식

    • 브라우저가 특정 페이지 요청(to Server)
    • 서버에서 Session 생성
    • 해당 Session의 정보를 Response Header에 쿠키로 추가(Set-Cookie)
    • 응답을 받은 Cookie 정보를 브라우저(Storage - Cookie)에 저장
    • 다음 요청부터는 서버로 요청시, 해당 쿠키를 동반해서 보낸다

##OAuth
비빌번호를 제공하지 않고 다른 사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단

  • 개요

    • OAuth는 인증 프로토콜이 아닌, 인가 프로토콜이다.
    • Google / Naver Login같은 소셜 로그인은 OAuth로 구성되잇다.
  • 역할 및 동작방식

  1. 역할
  • Client(브라우저)
  • Resource Owner(사용자 ID/PW를 알고 있는 사람 : 사용자)
  • Authorization Server(Facebook Oauth 서버)
  • Resource Server(FaceBook의 내정보를 가지고 있는 곳)
  1. 동작방식
  • FaceBook 소셜로그인 버튼 클릭
  • Facebook 로그인 - (A), (B)
  • 해당사이트의 접근을 허용 할 것인가? - (C)
  • 로그인 목적으로 사용할 수 있는 Access Token을 발급. - (D)
  • Access Token을 이용하여 서비스를 사용하는 과정 - (E), (F)

Token

최소 단위의 정보를 가진 물체

  • 종류
    • Access Token : 특정 정보에 접근할 수 있는 권한을 가진 토큰
    • Refesh Token : Access 토큰 만료로 사용할 수 없을때, Refresh 토큰을 이용하여 새롭게 - 인증하지 않아도 Access 토큰을 새롭게 받을 수 있다.

https://ko.wikipedia.org/wiki/
https://jooonho.com/web/2021-05-04-session-cookie-oauth/

0개의 댓글