Spring 심화 1주차(2)

신성훈·2024년 6월 14일

TIL

목록 보기
38/162
post-thumbnail

오늘의 학습 키워드

  • 카카오 로그인

카카오 로그인

  • 소셜 로그인
    -모든 웹 사이트에서 회원가입 과정을 거치는 것은 사용자에게 부담이 되기 때문에 해당 문제를 해결하기 위해 OAuth 를 사용한 소셜 로그인이 등장

  • OAuth 란?
    -OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
    -사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜

  • 카카오 사용자 정보 가져오기

    -UserController

    @GetMapping("/user/kakao/callback")
    public String kakaoLogin(@RequestParam String code, HttpServletResponse response) throws JsonProcessingException {
    	// code: 카카오 서버로부터 받은 인가 코드 Service 전달 후 인증 처리 및 JWT 반환
    	String token = kakaoService.kakaoLogin(code);
    
    	// Cookie 생성 및 직접 브라우저에 Set
    	Cookie cookie = new Cookie(JwtUtil.AUTHORIZATION_HEADER, token.substring(7));
    	cookie.setPath("/");
    	response.addCookie(cookie);
    	
       return "redirect:/";
    }

  1. 카카오에서 보내주는 '인가코드'를 받음 ⇒ Controller
  2. '인가코드'를 가지고 카카오 로그인 처리 ⇒ Service
  3. 로그인 성공 시 "/" 으로 redirect ⇒ Controller

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글