
기본 개념 인증 & 인가 기본적으로 인증(Authentication)과 인가(Authorization)에 대해 알아야 뒤에 헷갈리지 않는다. 인증은 사용자가 누구인지 확인하는 단계이고 인가는 인증을 통해 검증된 사용자가 리소스에 접근할 때 해당 리소스에 접근할 권

가장 기본으로 우리가 벡엔드 서버에서 사용자 entity를 제어하기 위해 정의해야 한다.아래와 같이 코드를 작성하였다. 우선 우리가 알고있는 JWT는 JWS(Json Web Signature)를 의미하는 경우이다. 즉, 어떠한 JWT를 만들 때는 signature가 필

단순한 작업(쿠키, 헤더에 대한 작업)을 함수화하여 유지 보수 용이성을 높혔다.기본적으로 HttpServletRequest에서 특정 쿠키를 찾거나 찾은 쿠키를 삭제하는 기능과, HttpServletResponse에 쿠키를 삽입하는 기능, 쿠키를 직렬화, 역직렬화하는 기

우리는 0번째 포스팅에서 얘기했듯이, 인증 및 인가 성공시 인증 정보가 SecurityContext에 저장된다고 하였다. 과연 어떻게 저장할 지 아래와 같이 코딩하였다.여기서 중요하게 봐야할 점은 "우리가 로그인할 떄 local로 로그인할 때와 oAuth2으로 로그인할

Handler 우리는 커스텀한 로그인을 위해 해당 로그인이 성공했을 때와 실패했을 때를 구분하고 만약 AccessDenied 됐을 때, 어떻게 처리해야할지 정해야 한다. OAuth2AuthenticationFailureHandler 실패했을 경우, 리다이렉션 경로

기본적으로 로그인할 때, UserDetailsService 클래스의 loadUserByUsername을 통해 유저를 조회한다.여기서 우리는 해당 클래스를 커스텀하게 생성하여 오버라이딩하면 우리가 원하는 기능들을 구현할 수 있을 것이다.해당 프로젝트에서는 특별한 기능이

우리가 통신을 통해 정보를 주고 받을 때 어떻게 받을 건지 중요하다.아래와 같은 객체를 설정하여 api를 주고 받을 것이다.우리가 원하는 OAuth2 로그인 기능을 간략하게 정리하면 아래와 같다.외부 플랫폼에 로그인하면 해당 내용을 토대로 인증 및 인가 실시인증 정보를

이번 프로젝트의 핵심 기능은 OAuth2 로그인이다. 해당 파트에 대한 개념적인 설명은 초반(0번 포스팅부터)에 했음으로 생략하고 PostMan을 사용해서 기능 구현을 확인할 것이다.임시로, 구글과 로그인만 구현했기 때문에 구글 OAuth 로그인을 해 볼 것이다.우리가