목록코드스테이츠 (39)
Develog

학습 목표 Cloud와 Deployment의 의미를 각 각 알고, 내 코드를 남에게 배포할 수 있다. 사용하는 서비스들의 특징과 사용해야 하는 이유를 이해할 수 있다. 커스텀 도메인을 이용해 요청을 원하는 곳으로 라우팅할 수 있다. (advanced) 대부분의 클라우드 서비스 업체는 다음과 같은 기본 장점을 가지고 있다. 1. 신속한 인프라 구축 2. 유연한 인프라 관리 3. 예상치 못한 트래픽 폭주 대응 4. 손쉬운 글로벌 서비스 5. 강력한 보안과 장애 없는 서비스 6. 합리적인 요금제 서버실을 생각하면 우리는 보통 아래와 같은 거대한 서버실을 생각할 것이다. 하지만 우리가 이러한 방식으로 서버를 관리하게 된다면 어마어마한 비용이 발생할 것이다. 단점들을 살펴보자 첫째. 주기적인 관리가 필요하다. 서..

학습 목표 OAuth2가 무엇인지 이해할 수 있다. OAuth2의 인증 방식을 설명할 수 있다. Authorization Code와 Access Token의 차이에 대해 이해할 수 있다. Authorization 서버와 Resource 서버의 차이에 대해 이해할 수 있다. Spring Security에서 OAuth를 구현할 수 있다. 나는 코드스테이츠에서 학습을 하며 매일 위 화면에서 로그인을 하여 출석을 한다. 카카오, 구글과 아무런 상관이 없는 별도의 서비스인데 어떻게 카카오와 구글 계정으로 로그인을 할 수 있는 걸까? 요즘 많은 서비스들이 구글, 카카오, 네이버 등의 계정을 통해 쉽게 회원가입과 로그인을 할 수 있도록 제공하고 있는데 서비스에 따라 회원관리 뿐만아니라 다른 SNS에 게시글을 게시하도..

서버 기반의 인증 방식은 매번 인증 요청이 올 때마다 서버에 점점 많은 부담을 주게 된다. 이러한 인증의 부담을 어떻게 줄일 수 있을지 고민한 끝에 토큰 인증 방식이 탄생하게 되었다. 학습 목표 JWT(JSON Web Token)를 사용하는 이유를 설명할 수 있다. JWT를 이용한 인증 방식을 이해할 수 있다. JWT를 사용하여 얻을 수 있는 장점과 단점을 설명할 수 있다. Spring Security에서 JWT 인증을 구현할 때 필요한 요소를 이해할 수 있다. Spring Security에서 JWT 인증을 구현할 수 있다. 세션 기반 인증은 서버(혹은 DB)에 유저 정보를 담는 인증 방식이었다. 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 즉, 인증이 필요하거나 권한 확인이 필요한 순간마다..

Spring Security의 인가 처리 흐름 1. 사용자가 HTTP 요청을 한다. 2. FilterSecurityInterceptor는 SecurityContextHolder로부터 Authentication을 얻는다. 3. FilterSecurityInterceptor는 FilterInvocation을 생성한다, 4. FilterInvocation을 SecurityMetadataSource에 전달하고 ConfigAttribute를 생성합니다. ConfigAttribute는 다수가 존재할 수 있다. 5. Authentication, ConfigAttribute를 AccessDecisionManager로 전달한다. 6. AccessDecisionManager는 decide(Authentication, Co..

Spring Security의 인증 처리 흐름 1. 사용자가 Username과 Password를 통해 인증을 요청한다. 2. AuthenticationFilter의 구현체인 UsernamePasswordAuthenticationFilter는 전달받은 Username과 Password를 가지고 UsernamePasswordAuthenticationToken을 생성한다. 3. 생성된 Authentication을 AuthenticationManager에 전달한다. 4. AuthenticationManager는 전달받은 Authentication을 다수의 AuthenticationProvider에 전달하여 유효성 검증 및 처리를 위임한다. 5. 입력받은 사용자의 인증 정보의 유효성 검증을 위해 UserDetai..

학습목표 암호화와 hashing, salting 등의 개념을 이해할 수 있다. HTTP와 HTTPS의 차이점을 이해할 수 있다. 권한 부여(Authorization)와 인증(Authentication)에 대해 이해할 수 있다. 쿠키의 작동 원리를 이해할 수 있다. 클라이언트, 서버, 데이터베이스의 전체 동작을 이해할 수 있다. 서비스의 보안과 관련된 방법을 알아보고 원리 및 장점 및 단점을 이해할 수 있다. HTTPS는 Hyper Text Transfer Protocol Secure Socket layer 의 약자이다. HTTP over SSL(TLS), HTTP over Secure라고 부르기도 한다. HTTPS는 HTTP 요청을 SSL 혹은 TLS라는 알고리즘을 이용해, HTTP 통신을 하는 과정에서..