본문 바로가기
OAuth/Kakao Login API

[Kakao Login API] 프로젝트 생성 및 기본 구성 셋팅 (Spring Boot 환경에서 카카오 로그인 API RESTful방식으로 연동하기 -2장)

by 임채훈 2019. 3. 22.

2019/03/23 - [OAuth/Kakao Login API] - [Kakao Login API] 카카오 계정의 유저 정보 받아오기 및 마무리 (Spring Boot 환경에서 카카오 로그인 API RESTful방식으로 연동하기 -4장 마무리) (0)

2019/03/22 - [OAuth/Kakao Login API] - [Kakao Login API] 카카오 로그인 API 서비스 구현 (Spring Boot 환경에서 카카오 로그인 API RESTful방식으로 연동하기 -3장)

2019/03/22 - [OAuth/Kakao Login API] - [Kakao Login API] 카카오 로그인 API 사용 준비하기 (Spring Boot 환경에서 카카오 로그인 API RESTful방식으로 연동하기 -1장)



이전장에 이어서 이클립스를 이용해서 Spring Boot프로젝트를 생성하고 기본 구성 파일을 작성하도록 하겠습니다.




1. Spring Boot 프로젝트를 생성해줍시다.





2. 이름은 아무렇게나 지어주시면 됩니다.





3. 간단하게 필수 라이브러리만 선택해줍시다.





4. Finish





5. pom.xml에 의존 라이브러리 추가



- JSP파일로 작성하기위해서 tomcat-embed-jasper 라이브러리를 추가해줍니다.

- 제가 JSP를 혐오하기때문에 JSTL 태그 라이브러리도 추가해주겠습니다.


1
2
3
4
5
6
7
8
9
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
cs



6. 아래와 같이 폴더를 생성하고 index.jsp파일 생성





7. 이전장에서 다운받은 카카오로그인 버튼 이미지파일 추가





8. 간단하게 index.jsp파일 작성하기



- JSTL 라이브러리를 추가합니다. (3번째 라인)

- body태그내에 session으로 등록해줄 userId의 key값이 null일때, 즉. 로그인을 하지 않았을때 로그인 버튼을 보여주고, userId의 key값이 존재할때 로그인 성공입니다 라는 메세지를 출력할수 있도록 하겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
</head>
<body>
    <c:if test="${userId eq null}">
        <a href="">
            <img src="/img/kakao_account_login_btn_medium_wide_ov.png">
        </a>
    </c:if>
    <c:if test="${userId ne null}">
        <h1>로그인 성공입니다</h1>
    </c:if>
</body>
</html>
cs




9. application.properties 파일에 기본적인 프로젝트 설정정보 작성하기


- PORT번호는 이전장에서 말씀드렸듯이 임의로 8000번으로 설정해주도록 하겠습니다.

- viewResolver도 설정해줍니다.


1
2
3
4
server.port=8000
 
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
cs




10. 아래와같은 패키지를 만들어서 HomeController.java파일 추가





11. 간단하게 HomeController.java파일 작성하기


- 루트경로의 요청이 들어왔을때 (http://localhost:8000/) index.jsp로 이동하도록 메소드를 만들어주고.

- 이전장에서 카카오 개발자센터에서 애플리케이션 만들기할때 적어주었던 Redirect URL과 동일하게 /login요청을 받는 메소드를 만들어주겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.personal.kakaoLogin.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class HomeController {
 
    @RequestMapping(value="/")
    public String index() {
        
        return "index";
    }
    
    @RequestMapping(value="/login")
    public String login() {
        
        return "index";
    }
}
cs




12. 프로젝트 우클릭 -> Run As.. -> Spring Boot app을 통해 프로젝트 실행 후 결과




다음장에서는 카카오 로그인 API를 통해 access token및 사용자 정보를 받아오도록 OAuth기반의 사용자 인증 서비스를 구현하도록 하겠습니다.

댓글