꿈소년의 개발 이야기

[스프링 부트 개발자 온보딩 가이드 스터디] 구글 OAuth2 로그인 기능과 JWT, 스프링 시큐리티 구현 본문

Do it 스터디!/스프링 부트 개발자 온보딩 가이드 스터디!

[스프링 부트 개발자 온보딩 가이드 스터디] 구글 OAuth2 로그인 기능과 JWT, 스프링 시큐리티 구현

fogthegreat 2026. 4. 5. 21:26
반응형

DAY 8

🔖 오늘 읽은 범위 :

🌱공부 내용: Chapter 06 Minilog에 인증 기능 추가하기
👢쪽수: p.289 - p.290


  • 스프링 시큐리티는 소셜 로그인을 위해 OAuth2 클라이언트 기능을 제공한다. OAuth2 클라이언트를 활용해 사용자가 구글 계정으로 로그인하고, 성공하면 스프링 시큐리티가 구글에서 받은 사용자 정보를 백엔드 애플리케이션에서 활용 할 수 있게 해준다.

    OAuth2 :: Spring Security

  • OAuth2 와 JWT 와의 연결

    • 구글 로그인에 성공한 사용자가 시스템에 처음 접속한다.

    • 백엔드 앱에서 구글에서 받아온 사용자 정보(예를 들면 이메일)을 바탕으로 JWT 를 새로 발급해 프론트엔드에 전달한다.

    • 이 JWT 토큰을 받아서 저장한 후 서비스에서 인증이 필요한 API를 사용할 때 마다 사용한다. 매번 API 요청 헤더에 실어서 백엔드로 보낸다.

      @Override
      public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException {
        OAuth2User user = (OAuth2User) authentication.getPrincipal();
        String email = user.getAttribute("email");
        String jwt = jwtProvider.createToken(email); // JWT 생성.
        response.getWriter().write(jwt); // 프론트엔드 등의 클라이언트에게 전달.
      }
  • 처음 인증(로그인) 과정은 구글이 담당하고, 이후 모든 인증(인증 유지, API 권한 체크 등)은 직접 발급한 JWT 토큰으로 관리한다.

  • 소셜 로그인 기능을 스프링 시큐리티와 JWT 결합을 통해서 자체 서비스 인증 구조로 만들 수 있다.

반응형