Back-end
[Netty] 동기와 비동기 통신
👉 동기 통신이란? 정의 주기적인 운동을 하는 개체들이 서로 영향을 주고 받거나 받게 됨으로써, 동일한 주기를 갖게 되는 것, 그러한 현상을 동기현상이란 한다. 동기란 단어대로 동시에 일어난다는 뜻이다. 즉 요청을 하고 난 후 요청에 대한 응답이 돌아올 때까지 기다리는 방식의 통신 방식이다 장점 설계가 매우 간단하고 직관적이다. 단점 결과가 주어질 때까지 아무것도 못하고 대기해야 한다. 👉 비동기 통신이란? 정의 송수신 간에 신호를 주고 받으며 작업을 수행하는 방식. 비동기식은 시작/정지 방식과 단계적 시작/정지 방식이 있다. 동기 통신과 달리 동시에 일어나지 않는다는 듯이다. 즉 요청을 하고 요청에 대한 응답이 돌아올 때까지 기다리는 것이 아닌 바로 다음 일을 시작하는 통신 방식이다. 장점 결과가 주어..
[Spring] 간단하게 HTTP POST 요청하기
💡 POST 요청이란? 서버에 요청하는 방식 클라이언트가 서버에 요청을 할 때 제공해야하는 자원이 있을 때 Get방식은 요청하는 자원을 URL에 뒤에 보내는 반면 POST방식은 URL에 붙이지 않고 따로 데이터(Body)를 만들어 보낸다. 🔍 Spring Framework에서 POST 요청 하기 1. Body 만들기 Body는 보통 key, value의 쌍으로 이루어지기 때문에 자바에서 제공해주는 MultiValueMap 타입을 사용해야한다. MultiValueMap params = new LinkedMultiValueMap(); params.add('') MultiValueMap 타입으로 만들어준 변수에 add()를 사용해 보낼 데이터를 추가해준다. 2. Header 만들기 HTTP POST를 요청할때..
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (4) Resource 받기
지금까지 한 것을 정리해보자면, 나의 서비스를 사용하고자 하는 사용자가 Authorization Server에서 제공해주는 곳에서 로그인을 했다. Authorization Server에서 로그인 정보를 확인하고 인증해 Code를 나의 서비스에 주었다. 나의 서비스는 Kakao Resource Server에 접근해 로그인 한 사용자의 정보를 갖고 싶다. Code+Client Id+Client Secret을 통해 Kakao Authorization Server에서 Access Token을 받았다. 🧐 Access Token으로 Kakao Resource Server에서 나의 서비스가 원하는 사용자의 정보들을 받아와 보자! 카카오 문서에서 사용자 정보 요청 Rest API는 두 가지 방식으로 사용할 수 있도록..
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (3) Access Token 받기
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (2) Code 가져오기 우리에게 친숙한 카카오의 Resource Server에서 데이터를 받아 볼 것이다. 앞선 글에서 봤듯이 🧐 우선 사용자가 카카오를 통해 로그인을 한 후 카카오 Authorization Server에서 Code를 받아오자! 카카오 A withseungryu.tistory.com 지금까지 Kakao Authorization Server에서 Code를 받아오기까지 성공했다. 🔍 이제 code를 받았으니 Resource Server에 접근하기 위한 Access Token(사용자 토큰)을 받아와 보자. 우선 카카오 로그인 REST API 문서를 보면, 필수 파라미터 값들을 담아 POST로 요청하고, 요청 성공 시, 응답은 J..
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (2) Code 가져오기
우리에게 친숙한 카카오의 Resource Server에서 데이터를 받아 볼 것이다. 앞선 글에서 봤듯이 🧐 우선 사용자가 카카오를 통해 로그인을 한 후 카카오 Authorization Server에서 Code를 받아오자! 카카오 Authorization Server에서는 Code를 사용자가 로그인을 한 후 동의를 해야 발급을 해준다. 따라서 먼저 사용자에게 로그인 창을 보여줘야 한다. 아래 URL를 통해 사용자에게 로그인을 하도록 요청하고 동의를 받아 낼 수 있다. https://kauth.kakao.com/oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code HTTP/1.1 client_id : 카카..
[Spring Boot] 차근차근 OAuth 2.0 구현하기 - (1) 개념 정리
🧐 oAuth란? 나의 서비스가 있을 때 사용자로부터 Google, Github, Kakao 등의 ID와 Password를 받아 Google, Github, Kakao의 서비스를 이용할 수 있다. 하지만 이렇게 하면 사용자의 아이디와 비밀번호가 유출되는 각 종 보안사고가 날 것이다. 또한 위 사이트들도 믿고 맡기지 못할 것이다. 이때 oAuth 2.0를 이용해 Resource Server(Google, Github, Kakao)를 안전하게 사용할 수 있게 할 수 있다. 💡 How? Id와 Password 대신에 AccessToken을 사용할 수 있다. if) 내 서비스가 Resource Server(Google, Github, Kakao)의 정보를 이용하고 싶다면? Authorization Server에..