Spring.16_카카오 간편 로그인

이혜민·2024년 9월 25일

spring

목록 보기
17/18

< 수업 순서 - 2024.09.24 >

📍카카오톡 간편 로그인

0Auth2.0 기능을 사용한 인증 처리 방법

: Google, Kakao, Naver 등의 Social 로그인 기능을 사용한 인증 처리

< 카카오의 로그인 OpenAPI를 사용해 로그인 하는 방법 >

  1. Kakao Developers 페이지 접속하여 애플리케이션 생성

  2. [내 애플리케이션] >> [애플리케이션 추가하기] >> 앱 이름, 회사명, 카테고리 입력 >> 저장

  3. 생성된 애플리케이션 >> [플랫폼] >> [Web 플랫폼 등록] >> 사이트 도메인 추가 >> 저장

  4. 생성된 애플리케이션 >> [앱키] >> [REST API 키] 복사

  5. 생성된 애플리케이션 >> [카카오 로그인] >> [활성화 설정]의 상태를 [ON]으로 변경 >> [Redirect URI 등록] >> Redirect URI 주소 입력 >> 저장
    => Redirect URI 주소 : http://localhost:8000/security/kakao/callback

  6. 생성된 애플리케이션 >> [카카오 로그인] >> [동의 항목] >> 응답 받을 개인 정보 설정

  7. 생성된 애플리케이션 >> [카카오 로그인] >> [보안] >> Client Secret 코드 발급 및 복사 >> 활성화 상태로 변경

  8. scribejava-apis 라이브러리와 json-simple 라이브러리를 프로젝트에 빌드 처리 - 메이븐 : pom.xml

  1. 로그인 관련 OpenAPI를 요청하기 위한 KakaoLoginApi 클래스와 KaKaoLoginBean 클래스 작성

01. KakaoLoginApi : Kakao OpenAPI를 사용하기 위한 기능을 제공하는 클래스 - DefaultApi20 클래스를 상속받아 작성

  • protected(상속받은 클래스에서만 사용) 생성자 작성

  • 토큰을 발급받을 수 있는 URL 주소를 저장해서 반환하는 메소드와 카카오 로그인할 때 사용되는 URL을 반환하는 요청 처리 메소드 작성

02. KakaoLoginBean : Kakao OpenAPI를 요청하기 위한 클래스

  • 상수필드에 REST API 키, CLIENT_SECRET 코드, 리다이렉트 URI, 세션 속성명, 사용자의 프로필 정보를 조회하기 위한 Open API 주소 저장
  • 세션 유효성 검증을 위한 난수값을 생성하여 반환하는 메소드 - 카카오로 로그인한 클라이언트와 접근토큰으로 사용자 프로필을 요청하는 클라이언트가 동일한지를 검사할 목적으로 사용

    • 세션(HttpSession 객체)에 난수값을 속성값으로 저장하는 메소드
    • 세션(HttpSession 객체)에 속성값으로 저장된 난수값을 반환하는 메소드
  • 카카오 로그인 페이지를 요청하는 URL 주소를 생성하기 위한 메소드

  • 접근토큰(AccessToken)을 발급받아 반환하는 메소드

  • 접근토큰을 사용해 사용자 프로필을 제공 받을 수 있는 OpenAPI 요청해 사용자 프로필을 JSON 형식의 문자값으로 반환하는 메소드

03. KakaoController

  • @Component 어노테이션을 사용해 Spring Bean으로 등록

04. form_login.jsp : 카카오 로그인 버튼 만들기

  • 카카오 디벨로버에서 이미지 다운

  • a 태그 추가

  • 출력시

05. KakaoController

0개의 댓글