본문 바로가기

Network5

JWT(JSON Web Token)란? 목차JWT란?JWT 사용시기JWT구조JWT 이용한 인증 과정JWT 장점1. JWT란?JWT(JSON Web Token)란 인증에 필요한 정보들을 암호화시킨 JSON 토큰 을 의미한다. 그리고 JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다JWT는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. 따라서 사용자가 JWT 를 서버로 전송하면 서버는 서명을 검증하는 과정을 거치게 되며 검증이 완료되면 요청한 응답을 돌려준다.2. JWT 사용시기AuthorizationJWT를 사용하는 가장 일반적인 예시다.사용자가 로그인 한 후.. 2023. 4. 25.
세션불일치 현상은 무엇이고 어떤 방법으로 해결할 수 있을까? 목차개요Sticky Session2-1. Sticky Session 문제점Session Clustering3-1. TOMCAT 세션 클러스터링3-2. Session Clustering 문제점Session Storage4-1. Session Storage 문제점결론1. 개요서버의 성능을 업그레이드 하는 경우, 우리는 Scale-Up과 Scale-Out 방법을 생각할 수 있다.그 중 Scale-Out을 하였을 경우, 세션을 어떻게 공유하여 정합성 이슈를 해결하는지에 대해 알아보자2. Sticky Session번역 그대로 고정된 세션을 의미한다.User1이 로그인 요청을 보낸다로드밸런서가 서버 1에 User1 요청 정보를 보낸다.로그인요청을 처리하고 1번 서버에 세션을 생성을 한다.User1이 보낸 모든 요청.. 2023. 4. 24.
인증(**Authentication)**과 인가**(Authorization)** 목차인증과 인가1-1. 인증(Authentication)1-2. 인가(Authorization)인증의 방법2-1. Request Header 활용2-1-1. 문제점2-2. Browser(Cookie) 활용2-2-1. 문제점2-3. Server (Session) 활용2-3-1. 문제점2-4. Token(JWT) 활용2-4-1. 문제점결론1. 인증과 인가일반적으로 인증을 진행한 후에 인가가 진행되는게 통상적이라 흔히 인가보다 인증이 먼저 선행되어야 한다.물론, 인증과 인가는 별개의 목적을 가져 인증없이 권한을 부여할 수도 있고, 권한 부여 없이 인증만 진행할 수도 있다.1. 인증(Authentication)식별가능한 정보로 서비스에 등록된 유저의 신원을 증명하는 것.로그인 같이 등록된 사용자인지 여부를 확인.. 2023. 4. 19.
OAuth2.0 개념과 동작에 대해 알아보자 목차OAuth란?등록2-1. 구글 등록 테스트OAuth 2.0 Flow 1. OAuth란?OAuth(Open Authorization)인가 프레임워크는 리소스 소유자와 HTTP 서비스 간의 승인 상호 작용을 조정하거나 타사 응용프로그램이 자체적인 액세스를 획득하도록 허용함으로써 타사 응용 프로그램이 리소스 소유자를 대신하여 HTTP 서비스에 대한 제한된 액세스를 얻을 수 있도록 해준다.위 그림과 같이 구글, 페이스북, 네이버 로그인 같은 소셜 로그인들은 OAuth2 프로토콜 기반의 인증방식을 지원한다.연동되는 외부 웹 어플리케이션에서 페이스북과 트위터 등이 제공하는 기능을 간편하게 사용할 수 있다.즉, OAuth는 다른 서비스의 회원정보를 안전하게 사용하기 위한 방법이라고 생각하자.사용자가 자신의 소셜 .. 2023. 4. 18.
HTTP 상태 코드를 알아보자 목차HTTP 상태코드1xx(Informational)2xx(Successful)3-1. 200 (OK)3-2. 201 (Created)3-3. 202 (Accepted)3-4. 204 (No Content)3xx(Redirection)4-1. 리다이렉션 이해4-2. 영구 리다이렉션4-2-1. 301 (Moved Permanently)4-2-2. 308 (Permanent Redirect)4-3. 일시 리다이렉션4-3-1. 302 (Found)4-3-2. 307 (Temporary Redirect)4-3-3. 303 (See Other)4-4. PRG : Post/Redirect/Get4xx(Client Error)4-1. 400 (Bad request)4-2. 401 (Unauthorized)4-3. 4.. 2023. 4. 17.