Back-end/SpringBoot

    [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에..

    [Spring Boot] Rest API 구현 (Feat. spring date rest)

    💡 Rest API 란? 참고 : https://withseungryu.tistory.com/100 💡 Spring data rest 란? spring-data-rest, a recent addition to the spring-dataproject, is a framework that helps you expose your entities directly as RESTful webservice endpoints. Unlike rails, grails or roo it does not generate any code achieving this goal. spring data-rest supports JPA, MongoDB, JSR-303 validation, HAL and many more. It is ..

    [Spring Boot] YAML 파일 매핑하기 (Feat. @ConfigurationProperties)

    💡 YAML 파일이란? 위키 참조 더보기 YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki와 함께 디자인했다. YAML이라는 이름은 "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)” 라는 재귀적인 이름에서 유래되었다. 원래 YAML의 뜻은 “또 다른 마크업 언어 (Yet Another Markup Language)”였으나, YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 이름을 바꾸었다. 오늘날 XML과 JSON이 데이터 직렬화에 주로 ..