인증 썸네일형 리스트형 Spring Security의 인증 과정과 주요 모듈 1. Spring Security 인증 과정 1) 로그인 요청 사용자가 폼에 아이디, 패스워드를 입력하면 HttpServletRequest에 아이디, 비밀번호가 전달된다. AuthenticationFilter가 넘어온 아이디, 비밀번호의 유효성 검사를 실시한다. 2) Authentication 생성 유효성 검사 후 실제 구현체인 UsernamePasswordAuthenticationToken을 만들어 넘겨준다. 3) Authentication 전달 인증용 객체인 UsernamePasswordAuthenticationToken을 AuthenticationManager에 전달한다. 4) UsernamePasswordAuthenticaionToken을 AuthenticationProvider에 전달 5) 유효.. 더보기 Spring Security의 개념과 Spring Security Filter Chain 1. Spring Security api실행 시 마다 사용자를 인증해야 하는데, 이를 구현한 것이 스프링 시큐리티이다. 스프링 기반의 어플리케이션의 보안(인증, 권한, 인가) 등을 담당하는 스프링의 하위 프레임워크이다. 즉, 인증과 인가를 담당하는 프레임워크! 주로 서블릿 필터와 이로 구성된 필터체인으로 구성된 위임 모델을 사용한다. 보안과 관련해 체계적으로 많은 옵션을 제공하기 때문에 보안 관련 로직을 작성하지 않아도 된다는 장점이 있다. 2. 기본 용어 인증(Authentication) 사용자의 신원을 입증하는 과정으로 로그인하는 과정이라고 생각하면 된다. 인가(Authorization) 권한 부여나 허가와 같은 의미로 사용되고 어떤 대상이 특정 목적을 실현하도록 허용하는 것이다. 권한에 따른 상이한.. 더보기 OAuth 2.0의 개념과 동작 방식 1. OAuth 2.0의 개념 웹 및 어플리케이션 인증 및 권한 부여를 위한 개방형 표준 프로토콜이다. 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹 사이트 상의 자신들의 정보에 대해 웹사이트나 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다. third-party 어플리케이션이 사용자의 리소스에 접근하기 위한 절차를 정의하고 서비스 제공자의 api를 사용할 수 있는 권한을 부여하였다 third-party 어플리케이션은 OAuth를 통해 사용자의 소셜 미디어 프로필 정보에 접근할 수 있다, 네이버, 구글, 카카오와 같은 소셜 미디어 간편 로그인이 있다. 2. 구성 역할 리소스 소유자(resource owner) OAuth 2.0프로토콜을 사용.. 더보기 토큰(Token)과 JWT 1. 토큰 인증 클리아언트가 서버에 접속하면 서버에서 해당 클라이언트에게 "인증되었다는 의미"로 토큰을 부여한다. 토큰은 유일하고, 토큰을 발급받은 클라이언트는 또 다시 서버에 요청을 보낼 때 요청 헤더에 토큰을 심어 보낸다. 서버에서는 클라이언트로 받은 토큰을 서버에서 제공한 토큰과의 일치 여부를 체크해 인증 과정을 처리한다. 앱에는 쿠키와 세션이 없기 때문에 앱과 서버가 통신 및 인증할 때 가장 많이 사용한다. 2. 기존 세션 기반의 인증 방식을 개선한 토큰 인증 방식 기존 세션 기반의 인증은 서버가 파일이나 데이터베이스에 세션 정보를 갖고 있어야 하고 이를 조화하는 과정이 필요해 많은 오버헤드가 발생한다. 토큰은 세션과 달리 서버가 아닌 "클라이언트"에 저장되기 때문에 메모리나 스토리지 등을 통해 .. 더보기 이전 1 다음