목록Spring (24)
seok의 패치노트

https://oneseok.tistory.com/70 [Security] JWT - JWT를 이용한 인증처리 프로젝트1 지난 시간까지 이 프로젝트를 만들기 전에 이론적인 내용을 공부해 보았다. RSA를 통한 서명 처리나 HMAC을 이용한 인증처리에 대해 공부해보고 여기서 더 나아가 JWT에 대해 공부했다. 이번 시간 oneseok.tistory.com 지난 시간에는 JWT 인증 프로젝트를 진행하기 위한 기본 설정을 끝 마쳤다 이번 시간에는 로그인에 필요한 Domain 및 controller , repository를 작성해보고 시큐리티 로그인에 필요한 UserDetails 구현체와 UserDetailsService 구현체를 작성해 볼 것이다. 1. 패키지 생성 및 domain , controller , ..

지난 시간까지 이 프로젝트를 만들기 전에 이론적인 내용을 공부해 보았다. RSA를 통한 서명 처리나 HMAC을 이용한 인증처리에 대해 공부해보고 여기서 더 나아가 JWT에 대해 공부했다. 이번 시간부터는 이 내용들을 프로젝트로 직접 만들어 인증처리에 목적을 둔 api 통신을 테스트해볼 것이다. 1. 프로젝트 생성 https://start.spring.io/ 해당 사이트에 접속하여 스프링 부트 프로젝트를 만들 것이다. IDE로 프로젝트를 열고 "build.gradle" 클릭 후 프로젝트를 open 한다. 프로젝트 yml 파일 작성 2. 시큐리티 Config 파일 생성 config 파일들이 들어갈 패키지를 생성한다. 비밀번호 암호화 처리를 위한 Bean 객체 만들기 Jwt를 이용한 api 통신을 위해 아래와..

저번시간까지 RSA , HMAC 방식에 대해 알아보았다. 이번시간에는 JWT(JSON WEB TOKEN) 에 대해 알아볼것이다. https://oneseok.tistory.com/67?category=933442 [Security] JWT - 이해하기 1(RSA) RSA란? - 공개키로 암호화하는 시스템의 하나로 개인키 개념까지 넣어 전자서명으로 인증까지 해결하는 알고리즘이다. 말이 너무 어려워 그림과 함께 천천히 내용을 풀어보려고 한다. 이 개념을 oneseok.tistory.com https://oneseok.tistory.com/68?category=933442 [Security] JWT - 이해하기 2(HMAC) HMAC을 이해 하기 위해서는 MAC에대해 먼저 알아야한다. MAC 이란? - "Me..

HMAC을 이해 하기 위해서는 MAC에대해 먼저 알아야한다. MAC 이란? - "Message Authentication Code" 의 줄인말로 , 메세지를 인증하기 위해 사용하는 정보이다. - 송신측에서 MAC정보를 메세지에 붙혀 보내면 수신측에서 메세지 정보를 가지고 MAC정보를 생성 후 송신측에서 온 MAC 정보와 비교하여 같으면 안전한 메세지로 인증된다. MAC의 동작 시나리오 송신측에서 보낼 메세지를 작성합니다. MAC 알고리즘 함수를 통해 MAC 정보를 생성합니다. 생성한 MAC 정보를 메세지에 붙혀 송신합니다. 수신측에서 메세지를 전송받으면 받은 메세지를 가지고 MAC 정보를 생성해봅니다. 생성된 MAC 정보와 송신측에서 메세지와 같이 붙어 넘어온 MAC 정보를 비교하여 일치하면 안전한 메세..

RSA란? - 공개키로 암호화하는 시스템의 하나로 개인키 개념까지 넣어 전자서명으로 인증까지 해결하는 알고리즘이다. 말이 너무 어려워 그림과 함께 천천히 내용을 풀어보려고 한다. 이 개념을 이해하려면 공개키와 개인키의 의미를 알아야 하고 각 키고 문서를 암호화했을 때 어떻게 열 수 있는지 까지 알아야 한다.!! 공개키(public key) - 공개키는 말 그대로 공개해도 되는 키로 블로그 나 아무 사이트에나 공개가 가능하다!! - 공개키로 문서를 암호화하고 개인키로 이 문서를 열 수가 있다. 이때 공개키는 전달하려는 상대의 공개키를 사용하여 암호화해야 하고 이 암호화 문서를 풀기 위한 키도 상대방의 개인키 여야 한다!! * 공개키만 사용하였을 때 문제점 - 해당 메시지를 A가 보냈는지 해커가 보냈는지 알..

https://oneseok.tistory.com/65 [Security] 시큐리티 프로젝트 로그인 - OAuth 로그인_naver https://oneseok.tistory.com/64 [Security] 시큐리티 프로젝트 로그인 - OAuth 로그인_google https://oneseok.tistory.com/63 [Security] 시큐리티 프로젝트 로그인 - 회원가입 및 기본로그인 https://oneseok.t.. oneseok.tistory.com 저번 시간에는 provider를 제공하지 않는 naver의 경우 어떻게 로그인 하는지에 대해 알아 보았다. yml에서 직접 provider를 만들고 구글과 달리 결과값이 다른곳에 들어 있어 인터페이스를 만들고 그 인터페이스를 각각OAuth 주체마다..

https://oneseok.tistory.com/64 [Security] 시큐리티 프로젝트 로그인 - OAuth 로그인_google https://oneseok.tistory.com/63 [Security] 시큐리티 프로젝트 로그인 - 회원가입 및 기본로그인 https://oneseok.tistory.com/62 [Security] 시큐리티 프로젝트 로그인 - Security 설정 클래스 파일 생성 https:.. oneseok.tistory.com 지난 시간에는 google 로그인을 해보며 OAuth-Client 라이브러리를 이용해 보았다. 이로써 흐름은 파악을 했고 이번시간에는 google 과 달리 provider를 제공하지 않는 naver의 경우 어떻게 처리하는지 알아 볼 것이다. 1. appli..

https://oneseok.tistory.com/63 [Security] 시큐리티 프로젝트 로그인 - 회원가입 및 기본로그인 https://oneseok.tistory.com/62 [Security] 시큐리티 프로젝트 로그인 - Security 설정 클래스 파일 생성 https://oneseok.tistory.com/61 [Security] 시큐리티 프로젝트 로그인 - 생성 및 프로젝트 설정 이번에.. oneseok.tistory.com 지난 시간에는 로그인 처리를 위해 필요한 클래스들을 몇개 만들어 보았고 실질적인 로그인 처리까지 해보았다. 이번시간에는 google, facebook , naver 와 같이 소셜 로그인 방식인 OAuth2.0 을 이용하여 로그인 처리를 해볼것이다. * OAuth? ▶ ..