CS/Server

· CS/Server
1. OAuth 란? OAuth는 외부서비스의 인증 및 권한부여를 관리하는 범용적인 프로토콜이다. 권한: OAuth는 인증뿐 아니라 권한 관리도 한다. 프로토콜: 일종의 규격이다. SNS로그인을 제공하는 Facebook, Google등은 OAuth 규격에 맞춰 인증 및 권한을 대행 관리 한다. 외부서비스: 우리가 만드는 서비스를 의미한다. 주의할점! SNS로그인 기능을 넣더라도 세션/쿠키 혹은 토큰을 사용한 인증을 거쳐야 한다. 2. OAuth 1.0 -> OAuth 2.0 2007년 OAuth 1.0이 발표되었고 많은 사람들의 관심을 받았다. 하지만 커저가는 네트워크 시장에서 한계가 나타나기 시작했고 2012년 OAuth 2.0이 등장하게 되었다. OAuth 2.0에서 크게 바뀐 점은 다음과 같다. 모..
· CS/Server
기존 JWT방식은 Access Token이 탈취당하게 되면 토큰을 조작하여 다른 사용자인 것처럼 할 순 없지만, 탈취당한 토큰의 주인 행세는 할 수 있었다. 이러한 점을 보완하기 위해 JWT의 강화버전인 Access Token & Refresh Token이 등장하였다. 사용자가 로그인 성공 시 Access Token, Refresh Token을 발급한다. Access Token은 탈취방지를 위해 유효기간을 짧게 설정하고, Refresh Token은 길게 설정한다. 이때, Refresh Token은 일반적으로 회원 DB에 같이 저장한다. 두 개의 토큰을 받은 사용자는 Refresh Token은 안전한 저장소에 저장하고, Access Token을 헤더에 실어 요청을 보낸다. Access Token이 유효하다..
· CS/Server
웹사이트에서 로그인을 하면 다른 페이지에 들어가도 로그인이 유지된다. 또, 내정보 와 같은 로그인을 해야만 접속할 수 있는 페이지도 존재한다. 이것을 가능하게 하는 것이 서버 인증이다. 오늘은 서버인증에서 세션/쿠키와 JWT에 대해서 알아보도록 하겠다. 1. Cookie 로그인 성공 시 서버에서 쿠키에 사용자 정보를 넣어준다. 클라이언트는 브라우저 저장소에 쿠키를 저장하고, 다음 요청마다 쿠키를 서버에 같이 보내준다. 서버에서 쿠키를 통해 인증 유무와 유저정보를 알 수 있다. 문제점 쿠키에 유저정보가 그대로 들어가기 때문에 유저 정보가 그대로 노출됨. 사용자가 임의로 쿠키 값을 변경할 수 있음. 이러한 문제점으로 인해 쿠키/세션이 도입된다. 2. Cookie/Session 로그인 성공 시 고유한 ID값(..
코드 미식가
'CS/Server' 카테고리의 글 목록