그래서 OAuth 2.0로 로그인 어떻게 하는 건데
·
Spring
스프링 시큐리티 공부하다가 뇌가 터져버릴 거 같아요암튼 1. OAuth 2.0이란? OAuth는 제 3의 서비스에 계정 관리를 맡기는 방식입니다. 쉽게 말하면 "네이버로 로그인 하기", "구글로 로그인 하기"를 말하는 겁니다.여기서 OAuth로 로그인한다는 것은 유저들이 별도의 비밀번호를 제공하지 않고서 다른 웹 사이트 상의 자신들의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여받는다는 것입니다.  2. OAuth 용어 정리흐름을 파악하기 위해서는 용어에 대한 이해가 필요합니다. 리소스 오너(resource owner) : 자신의 정보를 사용하도록 인증 서버에 허가하는 주체입니다. 서비스를 이용하는 사용자가 리소스 오너에 해당합니다.리소스 서버(resource server) : 리소스 오너의 ..
@Valid 어노테이션으로 유효성 검사
·
Spring
이번 게시물에서는 스프링에서 @Valid를 사용하여 검증하는 방법에 대해 소개합니다. 1. @Valid @Valid 어노테이션은 JAVA 표준 스펙의 일부로, Bean Validation API(JSR 303/JSR 380)에 포함된 것으로 Spring Framework에서 제공하는 것이 아니라 JAVA Bean Validation API입니다.이 어노테이션으로 객체의 필드나 메서드 파라미터에 대해 유효성 검사를 수행할 수 있게 해줍니다. Spring에서는 @Valid를 사용해 DTO나 Entity 객체에 대해 유효성 검사를 진행하는 코드를 자주 보셨을 겁니다.  유효성 검사란?애플리케이션에서 사용자의 입력이 올바른 형식이나 규칙을 따르는지 확인하는 과정입니다.예를 들어, 사용자가 입력한 이메일 주소가 ..
[Web 게시판] 회원 관리 설계 | User 엔티티 설계와 비즈니스 로직
·
Spring/웹 게시판
개발 환경 SpringBoot 3.4.1 Gradle - Groovy JPA(Spring Data JPA) Spring Security Lombok thymeleaf DB : MySQL https://github.com/gmlfks/board GitHub - gmlfks/board: inital commitinital commit. Contribute to gmlfks/board development by creating an account on GitHub.github.com 1. DB 설계   user_id : PRIMARY KEYusername : 회원 이름 (아이디)password : 비밀번호 8~16자 영문 대 소문자, 숫자, 특수문자nicknameemail : 메일 형식role : User /..
@LoginUser 커스텀 어노테이션으로 로그인 사용자 정보 주입하기
·
Spring
Spring MVC에서 커스텀 어노테이션을 사용하여 로그인된 사용자 정보를 자동으로 메서드 파라미터로 주입하는 방법을 소개합니다. 만약, 로그인을 진행한 후에 메인 페이지에 접속했을 때, 글을 작성하거나 검색하거나, 댓글을 작성할 때 등 많은 상황에서 로그인된 유저의 정보가 필요할 것입니다. 물론, 커스텀 어노테이션없이도 해당 로직을 쓸 수 있겠지만 훨씬 간편한 방법이 될 것 같아 포스트를 작성해봅니다.  전체적인 흐름을 먼저 설명하자면사용자가 로그인하면, 로그인 정보를 세션에 저장합니다.@LoginUser 어노테이션을 Controller 메서드의 파라미터에 사용하면, Spring은 이 어노테이션을 처리할 ArgumentResolver를 통해 세션에서 사용자 정보를 가져옵니다.Controller에서 로그..