공부기록
[추가] 스프링 시큐리티 OAuth 로그인 처리 방법 1
목차 [이론] 스프링 시큐리티 1 [OAuth] 스프링 시큐리티 OAuth [실습] 스프링 시큐리티 OAuth2 Login 1 [실습] 스프링 시큐리티 OAuth2 Login 2 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 1 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 2 이전에 스프링 시큐리티를 이용하여 OAuth로그인을 해보았다 정보를 매핑, 유저 저장하는 것 외에 단순히 yml파일에 정보만을 작성했을 뿐인데 로그인이 진행된 것을 볼 수 있다 크게 2가지 작업으로 나누어 어떻게 이루어 진것인지를 알아볼 예정이다 Setting Login 요청 처리 양이 좀 많으므로 우선 Setting부분을 알아보자 Setting 프로퍼티객체 생성 스프링은 기본적으로 수 많은 자동 설정들을 제공한다 ..
[실습] 스프링 시큐리티 OAuth2 Login 2
목차 [이론] 스프링 시큐리티 1 [OAuth] 스프링 시큐리티 OAuth [실습] 스프링 시큐리티 OAuth2 Login 1 [실습] 스프링 시큐리티 OAuth2 Login 2 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 1 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 2 앞서 OAuth2 로그인에 대해서 알아보았다 이번에는 Front와 통신을 위한 OAuth2 로그인 후 JWT 발행하는 법을 알아볼 것이다 Security Config 앞서 일반 로그인에서 filter에 successHandler를 설정해준 것처럼 이번에도 successHandler를 통해서 JWT발행을 할 것이다 기억이 나지 않는다면 스프링 시큐리티 JWT 처리를 보고오자 이번에는 직접 filter를 만드는게 아니라..
[실습] 스프링 시큐리티 OAuth2 Login 1
목차 [이론] 스프링 시큐리티 1 [OAuth] 스프링 시큐리티 OAuth [실습] 스프링 시큐리티 OAuth2 Login 1 [실습] 스프링 시큐리티 OAuth2 Login 2 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 1 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 2 사전작업 Dependency 추가 dependencies { // 의존성 추가 implementation 'org.springframework.security:spring-security-oauth2-client' } OAuth 서비스 등록 google, naver, kakao, facebook 등 여러개가 있지만 naver를 기준으로 설명을 할 예정이다 네이버 서비스 등록 위 링크에서 사용할 애플리케이션 등록을 해..
[이론] 스프링 시큐리티 OAuth
목차 [이론] 스프링 시큐리티 1 [OAuth] 스프링 시큐리티 OAuth [실습] 스프링 시큐리티 OAuth2 Login 1 [실습] 스프링 시큐리티 OAuth2 Login 2 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 1 [추가] 스프링 시큐리티 OAuth 로그인 처리 방법 2 OAuth(Open Authorization)란 타사 웹사이트나 웹이 리소스에 접근 할 수 있게 허용해 주는 것이 주 목적이다 OAuth는 인증(Authentication)과 인가(Authorization)중 인가에 조금더 초점을 맞추고 있다 카카오 로그인에 대해서 생각해보자 우리는 흔히 카카오의 정보를 이용해서 편히 로그인을 해오고 있다 이부분에서 사용자의 정보 즉 해당 사용자가 카카오에 가입이 되어있는지는 카카오..
[실습] 스프링 시큐리티 JWT 처리
목차 [이론] 스프링 시큐리티 1 [이론] 스프링 시큐리티2 [실습] 스프링 시큐리티 Form Login [추가] CustomAuthenticationProvider vs DaoAuthenticationProvider [이론] 스프링 시큐리티3 [이론] 스프링 시큐리티4 [추가] AuthorizeReqeusts vs AuthorizeHttpRequests [실습] 스프링 시큐리티 Json data Login 처리 [실습] 스프링 시큐리티 JWT 설정 [실습] 스프링 시큐리티 JWT 처리 OAuth2 이제 그럼 로그인 후 JWT 생성 처리와 Token을 가지고 접근 시 처리를 알아보자 Config SecurityConfig @Bean public SecurityFilterChain securityFilte..
Spring-Response 공통 포맷
Response Value 리팩토링 전 @PostMapping("/member") public String addMember(@Validated @RequestBody SaveMemberRequest request) { memberService.saveMember(request); return "ok"; } @GetMapping("/members") public MemberInfoResponse getMemberList(){ return memberService.getMembers(); } Refactoring 후 코드 @PostMapping("/member") public ResponseData addMember(@Validated @RequestBody SaveMemberRequest request)..
[실습] 스프링 시큐리티 JWT 설정
목차 [이론] 스프링 시큐리티 1 [이론] 스프링 시큐리티2 [실습] 스프링 시큐리티 Form Login [추가] CustomAuthenticationProvider vs DaoAuthenticationProvider [이론] 스프링 시큐리티3 [이론] 스프링 시큐리티4 [추가] AuthorizeReqeusts vs AuthorizeHttpRequests [실습] 스프링 시큐리티 Json data Login 처리 [실습] 스프링 시큐리티 JWT 설정 [실습] 스프링 시큐리티 JWT 처리 OAuth2 JWT에 대해서 우선 JWT 사용 전에 왜 사용하는지에 대해 궁금하면 아래 사이트를 참고하면 좋을 듯 하다 JWT.io [JWT.IO JSON Web Tokens are an open, industry sta..
JPA Proxy 객체 사용 기
서론 개인 프로젝트를 진행하면서 복합키를 사용할 일이 생겨 진행을 하는 도중 발생된 문제점과 해결 과정을 정리한 내용입니다 테이블의 구성은 user와 group이 다대다로 사이에 중간 매핑 테이블을 두어 각 PK를 사용하여 복합키를 설정하였다 문제점 @Entity @Getter @NoArgsConstructor @AllArgsConstructor public class UserGroup implements Persistable { @EmbeddedId private UserGroupId id; @Enumerated(EnumType.STRING) private GroupRole groupRole; @MapsId("userId") @ManyToOne(fetch = LAZY) @JoinColumn(name =..
[실습] 스프링시큐리티 Json data Login 처리
목차 [이론] 스프링 시큐리티 1 [이론] 스프링 시큐리티2 [실습] 스프링 시큐리티 Form Login [추가] CustomAuthenticationProvider vs DaoAuthenticationProvider [이론] 스프링 시큐리티3 [이론] 스프링 시큐리티4 [추가] AuthorizeReqeusts vs AuthorizeHttpRequests [실습] 스프링 시큐리티 Json data Login 처리 [실습] 스프링 시큐리티 JWT 설정 [실습] 스프링 시큐리티 JWT 처리 OAuth2 기존에 formLogin을 사용해서 진행했던 이전 프로젝트에서 크게 달라진 점은 없다 달라진 점이라곤 filter를 새로 정의하였고, filter를 설정하는 부분이 추가가 되었다는 점이다 로그인 처리 방식 기..
[추가] AuthorizeRequests vs AuthorizeHttpRequests
목차 [이론] 스프링 시큐리티 1 [이론] 스프링 시큐리티2 [실습] 스프링 시큐리티 Form Login [추가] CustomAuthenticationProvider vs DaoAuthenticationProvider [이론] 스프링 시큐리티3 [이론] 스프링 시큐리티4 [추가] AuthorizeReqeusts vs AuthorizeHttpRequests [실습] 스프링 시큐리티 Json data Login 처리 [실습] 스프링 시큐리티 JWT 설정 [실습] 스프링 시큐리티 JWT 처리 OAuth2 서론 이번글에선 Spring Security를 공부하면서 버전업에 의한 변경점에 대해서 다뤄볼 예정이다 기존에는 authorizeRequests를 사용하여 EndPoint에 관한 설정을 했지만 5.6버전 이후..