KakaoLoginPageController

sudals·2024년 10월 11일

Pawfit - KakaoLogin

목록 보기
1/5

동작 흐름 요약

  1. 사용자가 /login/kakao 경로로 GET 요청
  2. 서버에서 카카오 OAuth2.0 로그인 URL을 동적으로 생성
  3. RedirectView를 통해 사용자를 카카오 로그인 페이지로 리다이렉트


@RestController

  • REST API의 컨트롤러임을 나타냄
  • 이 클래스 안의 모든 메서드는 HTTP 요청을 처리하고 JSON 또는 HTTP 응답을 반환함

@RequestMapping("/login")

  • 컨트롤러의 기본 경로를 /login 으로 설정

private static final Logger logger = LoggerFactory.getLogger(KakaoController.class);

  • LoggerFactory.getLogger()**를 사용해 클래스 이름을 기반으로 로그 객체를 생성
  • private static final**로 선언하여 이 값이 변경되지 않도록 함

@Value 애너테이션

@Value

  • application.properties 파일에 있는 값을 가져와서 필드에 주입

${kakao.client.id}

  • application.properties 파일에서 kakao.client.id 항목의 값을 clientId 필드에 주입

private String

  • 두 필드는 접근 제어자가 private으로 설정되어 외부에서 접근할 수 없고, 필드 타입은 String

loginPage 메서드 (Spring REST API메서드)


@GetMapping("/kakao")

  • HTTP GET 요청을 처리하는 메서드
  • /login/kakao 경로로 GET 요청을 보내면 이 메서드가 호출
  • 클라이언트는 로그인 요청을 보내기 위해 이 경로를 호출

RedirectView

  • Spring에서 제공하는 클래스로, 사용자를 다른 URL로 이동시키는 역할

URL 파라미터

  • response_type=code: 카카오 서버로부터 인증 코드를 요청하는 파라미터
  • client_id: 카카오 API에서 발급된 클라이언트 ID를 사용하여 요청함
  • redirect_uri: 로그인 완료 후 카카오 서버가 리다이렉트할 URL입니다. 이 값은 application.properties에서 설정된 값이 주입됨

logger.info("카카오 로그인 URL: {}", kakaoLoginUrl);

  • logger.info()는 INFO 레벨로 로그를 기록하는 함수

  • {}는 플레이스홀더로, kakaoLoginUrl 값이 동적으로 이 자리에 삽입됨

  • 이를 통해 생성된 URL을 확인할 수 있음

return new RedirectView(kakaoLoginUrl);

  • RedirectView 객체를 사용하여 카카오 로그인 URL로 클라이언트를 리다이렉트
profile
봉천동 불개미

0개의 댓글