1. 문제 발생졸업 작품을 진행하던 도중, 게시글을 올렸을 때 시간이 현재 시간보다 9시간 느리다는 것을 발견했다.서버의 시간을 KST로 설정해 놓았기 때문에 시간이 맞아야 했지만, 왜 이런 문제가 발생했는지 의문이었다. 2. 문제 원인문제를 분석해 보니, EC2 인스턴스 내의 MariaDB에서 시간 설정을 별도로 하지 않았다는 사실을 발견했다.MariaDB는 기본적으로 UTC를 사용하므로, 서버 시간과 데이터베이스 시간 사이에 차이가 발생할 수 있다.MariaDB 설정 파일을 수정하기로 결정했다. 설정 파일을 열어 기본 시간대를 KST로 변경했다:sudo nano /etc/mysql/my.cnf설정 파일에 다음과 같은 내용을 추가했다:default-time-zone='+09:00'이 설정은 MariaD..
1. 문제 상황 설명스프링에서 카카오 로그인 로직을 구현한 후, Swagger에서 정상적으로 동작하는 것을 확인했다. 하지만 프론트엔드 코드에 적용하니 프론트에서 response로 넘어온 code값을 읽지 못한다는 것이다.http://:8080/api/v1/kakao/callback?code=XMyLL1FE6HPASDFipurcuc-FpHQMzl7aJ9uQASDFASDFASDFASDFASDfnCrRNUdd9ffL_GXB이런식으로 param으로 code에 있는 값을 파싱해서 사용하면 될 것이라고 생각했다.혹시 몰라서 @ApiIgnore @GetMapping("/callback") @ResponseBody public ResponseEntity callback(@RequestParam..
2024.09.11 - [백엔드/인증] - [백엔드] JWT + 카카오 로그인 (동작과정 + 설정) [백엔드] JWT + 카카오 로그인 (동작과정 + 설정)자 먼저 카카오 로그인을 진행하기 전에 우리가 왜 소셜 로그인을 해야 하는지에 대해 먼저 생각해 봅시다!먼저 사용자의 입장에서 일반 로그인과 카카오 로그인이 있다면 대다수의 사람들은mike705114.tistory.com자 이제 준비는 완료했으니 구현을 해봅시다! 1단계: 프로젝트 준비카카오 로그인을 구현하기 위해 먼저 필요한 리소스를 준비해야 합니다. resources/static 폴더에 카카오 로그인 버튼 이미지를 추가하고, resources/templates 폴더에 login.html 파일을 작성합니다.이 HTML 파일은 사용자가 카카오 로그인 ..
자 먼저 카카오 로그인을 진행하기 전에 우리가 왜 소셜 로그인을 해야 하는지에 대해 먼저 생각해 봅시다!먼저 사용자의 입장에서 일반 로그인과 카카오 로그인이 있다면 대다수의 사람들은 카카오 로그인을 선호할 것입니다.그 이유는! 카카오에 저장되어 있는 유저의 정보를 가져와 별도의 회원가입 절차 없이 새로운 사이트에 가입을 할 수 있기 때문입니다. 동작 과정위 사진은 카카오 로그인으로 서비스에 로그인하는 과정에 대해 표현한 단계별 시퀀스 다이어그램입니다.카카오 로그인사용자 클라이언트에서 사용자가 카카오 로그인 버튼을 선택하면, 서비스는 카카오 API 플랫폼 서버로 인가 코드 발급을 요청합니다.카카오 API 플랫폼 서버는 사용자에게 인증을 요청하고, 성공 시 사용자에게 동의 화면으로 인가를 요청합니다.인가 완..
JWT(JSON Web Token)란?JWT는 JSON 객체를 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다.서버와 클라이언트 간에 데이터를 주고받을 때 주로 인증 목적으로 사용되며,자체적으로 정보를 인코딩하여 안전하게 전송할 수 있는 토큰입니다. JWT는 주로 세션 기반 인증 대신 사용되며, 클라이언트(프론트 로컬 스토리지)에서토큰을 보관하고 요청 시마다 서버로 전달하여 인증 과정을 수행합니다. JWT는 3가지 주요 부분으로 구성됩니다.Header:JWT의 유형과 서명 알고리즘 정보를 담고 있습니다.typ: 토큰 타입지정 -> JWTalg: 해싱 알고리즘 지정 -> 보통 SHA256Payload:클레임이라 불리는 데이터가 포함되며, 이는 토큰에 포함된 사용자 정보와 기타 메타 데이터를 담..
1. 문제 발생백엔드 REST API를 개발한 후, 프론트엔드(React)와 통신하려고 배포를 완료한 뒤 인증이 필요한 API 요청에서 CORS 에러가 발생했다.2. CORS 에러는 왜 발생할까?CORS(Cross-Origin Resource Sharing)는 교차 출처 리소스 공유 정책이다. 쉽게 말해, 요청을 보내는 출처(origin)가 다를 때 발생하는 문제이다.Origin은 세 가지로 구성된다: Protocol: http 또는 httpsDomain: localhost 또는 example.comPort: 8080이 세 요소 중 하나라도 다르면 출처가 다른 것으로 간주된다. 동일 출처 정책(Same-Origin Policy, SOP)은 이런 경우 리소스 접근을 차단한다. CORS 정책을 통해서는 교차..