오늘의 잔디

애플리케이션 등록
플랫폼 → Web 추가
http://127.0.0.1:8081JavaScript 키 발급 후 HTML에 적용
<script src="https://developers.kakao.com/sdk/js/kakao.js"></script>
<script>
Kakao.init('발급받은_JavaScript_KEY');
</script>

login.html에 "카카오로 로그인" 버튼 추가<button id="kakao-login-btn" class="kakao-login-button">카카오로 로그인</button>
.kakao-login-button {
background-color: #FEE500;
color: #000;
font-weight: bold;
}
login.js에 카카오 로그인 처리 로직 구현Kakao.Auth.login({
success: function(authObj) {
Kakao.API.request({
url: '/v2/user/me',
success: function(res) {
const kakaoId = res.id;
const nickname = res.properties?.nickname || "KakaoUser";
fetch(`http://localhost:8080/api/auth/kakao-login?kakaoId=${kakaoId}&nickname=${encodeURIComponent(nickname)}`, {
method: "POST"
})
.then(res => res.text())
.then(token => {
localStorage.setItem("token", token);
alert(`${nickname}님 로그인 성공!`);
window.location.href = "/index.html";
});
}
});
}
});
AuthController.java)에 카카오 로그인 API 추가@PostMapping("/kakao-login")
public ResponseEntity<String> kakaoLogin(@RequestParam("kakaoId") String kakaoId,
@RequestParam("nickname") String nickname) {
String username = "kakao_" + kakaoId;
Optional<User> optionalUser = userRepository.findByUsername(username);
User user = optionalUser.orElseGet(() -> {
User newUser = new User();
newUser.setUsername(username);
newUser.setPassword("kakao_dummy_password"); // 의미 없는 값
return userRepository.save(newUser);
});
String token = JwtUtil.createToken(user.getUsername());
return ResponseEntity.ok(token);
}
kakao_123456789 형식의 유저로 DB에 등록됨localStorage에 저장 → 캘린더 페이지 진입 가능카카오 세션 자동 로그인 방지
Kakao.Auth.logout() 적용해 다른 사용자 로그인 테스트 가능하게 만들기카카오 연결 해제 (unlink) 기능 추가 여부 결정
필요하면 .md 파일로도 저장해드릴 수 있어요!
내일 이어서 진행할 준비도 완료입니다 :)