[Spring Boot] OAuth와 애플 로그인
·
Spring Boot
💡 Apple Login 구현에 필요한 전체 흐름1. 클라이언트 → Apple 로그인 요청 (Apple SDK or WebView)2. 애플 로그인 성공 → authorization code 수신3. 클라이언트 → 서버로 code 전달4. 서버 → 애플 서버에 code와 함께 토큰 요청 (OAuth)5. 애플 → id_token (JWT) 응답6. 서버 → id_token 파싱 → 사용자 정보 추출7. 서버 → DB에서 사용자 조회 or 신규 저장 (JPA)8. 서버 → 우리 앱용 JWT 발급 → 클라이언트 응답 5~8번은 전 글에서 다뤘으니 생략하며, 본 게시글은 1~4번 내용을 다룬다. 📌 OAuth 2.0다른 서비스의 인증 정보를 빌려서 로그인할 수 있게 해주는 표준 프로토콜 예를 들어, 우..
[Spring Boot] JWT란?
·
Spring Boot
Spring Boot에서 애플로그인을 구현하기 전에 JWT를 학습한다. 📌 JWT (Json Web Token)JWT는 인증 정보나 사용자 데이터를 안전하게 담아서 전달하기 위한 토큰이다. 로그인 상태를 증명하거나 사용자 정보를 주고받을 때 쓰이는 문자열이다. 즉, JWT는 서버가 사용자에게 로그인 상태를 기억시키기 위한 방식이다. JWT는 서버가 로그인된 사용자의 인증 정보를 토큰에 담아 클라이언트에게 전달하고, 이후 요청마다 이 토큰을 통해 인증을 확인하는 방식이다. JWT는 3개의 부분(헤더, 페이로드, 서명)으로 나뉘며, 각각은 . 으로 구분된다. 구성 요소 설명Header토큰의 타입과 서명 알고리즘 (예: HS256)Payload사용자 정보(Claims)가 담긴 부분 (예: userId, em..
[Spring Boot] JPA란?
·
Spring Boot
📌 JPA 란?ORM (Object-Relational Mapping)객체(Object)와 데이터베이스 테이블(Relation)을 매핑(Mapping)해주는 기술이다.즉, 자바의 클래스와 DB의 테이블을 1:1로 연결해서, SQL을 직접 작성하지 않아도 자바 코드만으로 데이터를 저장하거나 조회할 수 있다.객체와 쿼리를 분리해 복잡도를 줄이고, 트랜잭션 처리나 기타 데이터베이스 관련 작업들을 좀 더 편리하게 처리할 수 있다. JPA (Java Persistence API)JPA는 자바의 ORM기술을 쉽게 사용할 수 있도록 표준화한 API이다. JPA를 사용하면 객체와 관계형 데이터베이스 간의 매핑을 손쉽게 처리할 수 있다. 즉, JPA는 '어떻게 동작해야 한다'는 규격만 정의하고, 실제 구현은 Hibe..