스프링 시큐리티

Spring/Security

Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (8) - SecurityConfig 설정 클래스 생성

이제 앞에서 했던 자체 Login 필터와 OAuth2 Login 필터 등 Spring Security의 여러 설정을 담당하는 SecurityConfig 클래스를 생성해보려고 합니다! Spring Security의 설정 파일이라고 생각하면 됩니다! 위치는 global/config에 생성해줬습니다. SecurityConfig 클래스 생성 전체 코드를 먼저 보여드리고, 전체 코드가 상당히 길기 때문에 부분 부분 코드를 발췌하여 설명드리겠습니다. 🎯 SecurityConfig 전체 코드 package login.oauthtest4.global.config; import com.fasterxml.jackson.databind.ObjectMapper; import login.oauthtest4.domain.user..

Spring/Security

Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (4) - 자체 JSON 로그인 커스텀하기

이전 챕터에서 JWT 관련 클래스와 인증 로직을 살펴봤습니다. 이번 챕터에서는 자체 JSON 로그인 관련 클래스들을 커스텀해보겠습니다. 저는 자체 로그인 시 일반 Form Login이 아닌, 아이디와 비밀번호를 JSON 형식으로 RequestBody로 보내는 로그인 방식을 구현할 것입니다. { "email" : "aaa@bbb.com" "password" : "test123" } 이런 식으로, JSON으로 Email, Password를 보내 로그인을 하는 로그인 방식을 구현할 것입니다. Spring Security에서는 일반 Form Login을 기본적으로 제공하지만, JSON 형식의 RequestBody로 하는 로그인 방식은 기본적으로 제공하지 않습니다. 따라서, JSON 로그인 방식을 사용하기 위해 ..

Spring/Security

Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (3) - JWT 관련 클래스 생성 / JWT 인증 로직

이전에 JWT 정의를 살펴봤다면, 이번에는 JWT 관련 클래스를 직접 생성하여 구현해보려고 합니다! 들어가기 전 JWT 패키지 구조는 다음과 같습니다. JWT 서비스를 생성하기 위해 다음과 같은 오픈 소스 라이브러리를 사용합니다! https://github.com/auth0/java-jwt GitHub - auth0/java-jwt: Java implementation of JSON Web Token (JWT) Java implementation of JSON Web Token (JWT). Contribute to auth0/java-jwt development by creating an account on GitHub. github.com 사용하기 위해, build.gradle에 아래와 같은 의존성을 ..

Spring/Security

Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (2) - JWT란?

이전 User 관련 클래스 생성에 이어서 다음에는 JWT 관련 클래스를 생성해보려고 합니다. JWT 관련 클래스를 생성하기 전에, JWT가 무엇인지 간단하게 살펴보고자 합니다. 1. JWT(JSON Web Token)란? JWT는 인증에 필요한 정보들을 암호화 시킨 JSON 토큰을 의미합니다. 따라서 JWT를 이용한 인증은 유저를 인증하고 식별하기 위한 Token 기반 인증입니다. JWT는 JSON 데이터를 Base64 URL-safe Encode를 통해 인코딩하여 직렬화한 것이고, 토큰 내부에는 개인키를 통한 전자서명이 들어있습니다. ※ Base64 URL-safe Encode란, 일반적인 Base64 Encode를 URL에서 오류 없이 사용하도록 '+'와 '/'를 각각 '-', '_'으로 표현한 것입..

Spring/Security

Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (1) - 회원(User) 관련 클래스 생성

들어가기 전 처음 프로젝트 진행 시, 아무것도 모르던 상태에서 처음으로 만들어야겠다고 생각이 든 기능이 로그인 기능이었습니다. 처음부터 자체 Login과 OAuth2 Login(소셜 로그인)을 같이 구현해보고 싶었지만, 그 당시에는 지식이 많이 없었기 때문에(지금도 없지만...) 먼저 자체 Login을 구현해보고 OAuth2 Login을 구현해봐야겠다고 생각을 했었습니다. 구글링을 정말 많이 해봤었는데, 자체 Login과 OAuth2 Login을 함께 서술한 블로그 글은 거의 없었습니다. 그래서 구현하기가 정말 힘들었었는데 여러 삽질을 통해 구현하게 되어 기록하고자 합니다! 물론 더 나은 방법이 있을 수도 있지만, 일단 스프링 시큐리티와 JWT를 이용하여 자체 Login과 OAuth2 Login을 함께 ..

BE_성하
'스프링 시큐리티' 태그의 글 목록