Spring

[Spring ] 카카오API_로그인_서버to서버통신 22.08.05 [17일차]

양빵빵 2022. 8. 5. 15:01

 

== 여기까지 기본 설정

 

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html lang="ko">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>kakao-test.jsp</title>
    <style>
        .wrap {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .user-box {
            border: 3px solid #004986;
            padding: 30px;            
        }
        .user-box img {
            text-align: center;
        }
    </style>
</head>

<body>

    <div class="wrap">
       
        <c:if test="${loginUser == null}">
            <a
                href="https://kauth.kakao.com/oauth/authorize?client_id=${appKey}&redirect_uri=http://localhost:8181${redirectUri}&response_type=code">
                <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" alt="카카오 로그인">
            </a>
        </c:if>

        <c:if test="${loginUser != null}">
            <div class="user-box">
                <h1>${loginUser.name}님 카카오 로그인 성공!</h1>
                <img src="${profile_path}" alt="프로필사진">
                <br>
                <p>
                    # 이메일: ${loginUser.email}
                </p>
                <br>
                <a href="/kakao/logout">카카오 로그아웃</a>
            </div>
        </c:if>

    </div>



</body>

</html>

 

 

 

 

=== 

 

이제 우리 사이트에서 카카오 적용 하기

 

 

여기 까지... 다른 웹사이트 연동은 알아서 하기.

 

== 이 부분을 공부하면서 생각해봐야 할 이슈

 

1. 게시물을 작성할 때 : 카카오 회원은 우리 데이터 베이스에 저장되어 있지 않다.

  => 제약조건을 위반하게 된다. // 카카오로그인한 사용자정보의 이메일을 데이터베이스에서 조회하여

일치하는 회원과 연동한다.

 

그러기 위해서는 데이터베이스 테이블 설계

tbl_member 

account    password    name   email    sns_id

                                                                1

                                                               null

 

 

tbl_sns

sns_id  sns_name

    1       kakao

    2       naver

 

게시판과 회원이 연결되어 있다면 카카오로 로그인해도 회원가입을 시켜야 한다.

 

 

2. 완전로그아웃

 

 

601?? 에러 발생했을 때 허용IP 등록 하기