본문 바로가기

CS/네트워크

(3)
OAuth 1. OAuth란? 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으서 사용되는, 접근 위임을 위한 개방형 표준 → 페이스북, 구글, 카카오 로그인 등의 외부 서비스의 로그인 방식으로 인증하는 방법 2. OAuth 참여자 Resource Server 클라이언트가 제어하고자 하는 자원을 보유하는 서버 Facebook, Google, Kakao Resource Owner 자원의 소유자(유저) Client 서비스를 통해 로그인하는 실제 유저 Client Resource Server에 접속해서 정보를 가져오고자 하는 클라이언트(웹 어플리케이션) 내 서비스 3. OAuth 구현 방법 DB 테이블에 OAuth와..
쿠키(cookie), 세션(session), JWT 1. 쿠키 1. 쿠키란? 클라이언트가 어떤 웹사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버를 통해 클라이언트의 브라우저에 설치되는 작은 기록 정보 파일 무상태 환경에서 기록하고자 하는 데이터를 쿠키에 담고, 다음 번 요청 시에 쿠키를 요청에 담아 보냄으로써 무상태를 극복 2. 쿠키 인증 과정 사용자의 로그인 요청 로그인 성공 시, 서버는 쿠키를 생성 쿠키에 회원 정보를 담아 응답 사용자는 브라우저 저장소에 쿠키를 저장 다음 번 요청 , 쿠키를 요청에 함께 전달 서버는 쿠키를 보고 유저를 확인하고 응답 3. 쿠키 단점 보안에 취약함 요청 시 쿠키의 값을 그대로 보내기 때문에 개인 정보가 외부에 노출 유출 및 조작 당할 위험 존재 브라우저 간 공유 불가능 웹 브라우저마다 쿠키에 대한 지원 형태가 다..
인증 & 인가 1. 인증 & 인가 1. 인증 유저가 누구인지 확인하는 절차 EX) 로그인 2. 인가 유저에 대한 권한을 허락하는 것 EX) 관리자, 회원 판별 2. 로그인 방식 1. HTTP 무상태성 클라이언트에 대한 이전 상태 정보 및 현재 통신 상태가 남아있지 않기 때문에 로그인한 유저 정보를 유지하기 위한 여러 방법들이 고안되었음 2. 세 가지 로그인 방식 쿠키 & 세션 JWT OAuth