Spring 7

[Spring] OAuth2 로그인 구현하기 2 - 로그인 과정 디버깅

aboutSpringSecurity/oauth 에서 테스트 프로젝트와 같이 볼 수 있습니다. 용어 Roles 공식 문서 section-1.1에서는 아래 4개의 역할을 정의한다. Resource Owner 리소스 소유자는 사용자로, 자신의 계정 데이터에 대한 접근 권한을 부여할 수 있는 개체입니다. Resource Server 리소스 서버는 리소스 소유자의 데이터를 호스팅하는 서버로, 보호된 리소스에 대한 접근을 처리합니다. Authorization Server 인증 서버는 사용자의 신원을 확인하고, 클라이언트에게 토큰을 발급하는 역할을 합니다. 이 토큰은 클라이언트가 리소스 서버에 접근할 수 있는 권한을 부여합니다. 아래 설명 중 나오는 Provider와 같습니다. (google, kakao, naver..

Spring 2023.08.22

[Spring] OAuth2 로그인 구현하기 1 - 카카오 애플리케이션 등록

Kakao 애플리케이션 추가하기 https://developers.kakao.com/console/app 사업자명 적으래서 당황했는데 찾아보니 다들 막 적고 시작하더라 Web 플랫폼 등록 로컬테스트만 하려는데 사이트 도메인부터 준비해야하나 했지만 그냥 localhost 주소 작성해도 된다. Web 플랫폼을 등록하고 나면 아래 Redirect URI도 설정하는 링크가 생긴다. 상태를 활성화하고, 카카오는 OpenID Connect도 지원하니 이것도 활성화 했다. Redirect URI는 default Redirect URI를 적었다. 동의 항목 설정 닉네임, 프로필 사진, email을 설정했다. Client Secret 발급 보안 > Client Secret "Implicit Grant" 방식도 지원을 하..

Spring 2023.08.16

CORS 개념과 Spring 서버에서의 CORS 설정 및 테스트

※ Playground/cors 에서 테스트 프로젝트와 같이 볼 수 있습니다. 동일 출처 정책 (Same-Origin Policy) CORS를 이해하기 위해서는 먼저 동일 출처 정책(SOP)에 대해 알아야 한다. 이 정책은 보안을 위해 웹 브라우저가 자바스크립트 등을 통해 액세스할 수 있는 리소스의 범위를 자신과 동일한 출처로 제한한다. 동일 출처(Same-Origin)라는 것은 프로트콜(http, https), 도메인(example.com), 포트(8080)가 모두 동일한 경우를 뜻한다. 예를 들어, https://example.com:8080에서 로드된 페이지는 기본적으로 https://example.com:8080에서 제공하는 리소스만 액세스 할 수 있다. 웹 브라우저는 클라이언트의 Request ..

Spring 2023.07.31

JSON과 Enum 필드 상호 변환 : @JsonValue, @JsonCreator, @JsonFormat (+@JsonProperty)

JSON과 Enum 필드 상호 변환 : @JsonValue, @JsonCreator, @JsonFormat (+@JsonProperty) 이 프로젝트에서는 스프링의 Rest Controller에서 사용하는 DTO 클래스의 Enum 필드가 JSON으로 어떻게 변환되는지, 그리고 JSON이 어떻게 다시 Enum 필드로 변환되는지에 대해 알아보았습니다. EnumController 1. Default MyEnumV1.java public enum MyEnumV1 { VALUE("value"), UNDER_SCORE("underscore") ; private final String value; MyEnumV1(String value) { this.value = value; } public String getVal..

Spring 2023.05.11

FCM 소개 및 Spring 프로젝트에서 구현

FCM 소개 Firebase Cloud Messaging (FCM)은 Google이 제공하는 클라우드 메시징 서비스로 애플리케이션 서버에서 클라이언트 앱(안드로이드, IOS, Web Browser)로 알림 메시지나 데이터 메시지를 전송할 수 있습니다. FCM 아키텍처 애플리케이션 서버 메시지 생성하고 대상을 타겟팅하여 FCM 백엔드로 전송합니다. 일반적으로 개발자가 구축하는 백엔드 서버를 의미합니다. FCM 서버 구글이 제공하는 클라우드 서비스로 애플리케이션 서버나 Firebase Console로부터 메시지를 받아, 대상 기기나 사용자에게 메시지를 라우팅합니다. 플랫폼 수준 전송 레이어 각 플랫폼 (안드로이드, IOS, Web)에 특화된 메시지 전송 방식을 사용하여, FCM 서버로부터 받은 메시지를 클라..

Spring/FCM 2023.04.24

Thymeleaf - Basic

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com Thymeleaf는 가이드 문서가 잘 정리 되어 있다. https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html 타임리프 사용 선언 ... xmlns : 해당 문서를 위한 XML 네임스페이스(Namespace)를 명시한다. 텍스트 - t..

Spring 2023.02.17