본문 바로가기

Spring/Security

(3)
Json 로그인 분석하기 - 스프링 시큐리티의 동작 과정 1. 개요앞의 게시글에서 json을 사용한 로그인을 스프링 시큐리티를 사용하여 구현해보았다. 구글 코드를 참고하여 작성하다가  해당 코드를 보았다.UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password);//principal 과 credentials 전달return this.getAuthenticationManager().authenticate(authRequest); 해당 코드가 실제로 어떻게 동작하여 인증을 진행하는 지 궁금하여 이 게시글을 작성해보면서 공부하기로 하였다. https://runawayfromlazy.tistory.com/16 Hello, Sprin..
[Spring Security] 소셜 로그인 과정 이해하기 (Feat. Kakao) 1. 개요다음 프로젝트에서 카카오를 필두로 한 소셜 로그인을 구현하게 되었다. 이에 앞서 구구모 프로젝트의 코드를 이용하여 소셜 로그인의 진행 과정을 백엔드 입장에서 정리해보고자 한다.2. 진행 과정카카오에서 제시하는 소셜 로그인의 진행 과정은 다음과 같다. 이를 백엔드 입장에서 하나씩 살펴보자.2-1 인가 코드 받기우선 프론트 측에서 카카오 인증 서버와 연결하여 로그인을 한다. 이에 따른 인가 코드를 받아온다. 인가 코드를 받은 클라이언트는 서비스 서버에 이를 넘긴다.2-2 토큰 받기 @GetMapping("/kakao/login") public ApiResponse login(@RequestParam(name = "code") String code) { String access..
Hello, Spring Security 1. 스프링 시큐리티란?    인증, 인가 등 스프링 웹 개발 시 필요한 사용자 관리 기능을 구현하는데 도움을 주는 프레임워크이다.    이를 사용함으로써 보안 관련 기능을 보다 간편하고 빠르게 구현할 수 있다.  2. 작동원리? 1. 인증 요청을 하면 AuthenticationFilter가 요청을 가로채어 UsernamePasswordAuthenticationToken 인증 객체를 생성한다.2. 이 객체가 ProviderManager에게 전달되면 AuthenticationProvider(s)에 토큰을 보내 인증을 요구한다. 3. AuthenticationProvider(s)는 UserDetailsService에게 해당 로그인 폼에 대한 정보를 db에서 가져오라고 시킨다.4. UserDetailsServ..