본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

OpenAPI/OAuth9

[OAuth] Naver Login Github 소스 코드 - Naver Login with SpringBoot https://github.com/jooyeokkim/Naver-Login-with-SpringBoot GitHub - jooyeokkim/Naver-Login-with-SpringBoot Contribute to jooyeokkim/Naver-Login-with-SpringBoot development by creating an account on GitHub. github.com OAuth의 3번째 예제로 네이버 로그인 연동을 준비해보았다. 예제 소스 코드를 일일이 설명하기에는 연동 과정이 카카오 로그인과 매우 흡사하기 때문에, 소스 코드를 공유만 할 것이다. Kakao Login + SpringBoot 연동 https://.. 2021. 8. 9.
[OAuth] Kakao Login(3) - 사용자 email 받기 / 로그 아웃 1. HomeController 나머지 부분 access_token을 이용하여 사용자의 정보를 받아오는 과정은 GetUserInfoService에서 처리했다. package com.example.demo.controller; import com.example.demo.service.GetUserInfoService; import com.example.demo.service.RestJsonService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframewor.. 2021. 8. 8.
[OAuth] Kakao Login(2) - Access Token 받기 ◎ 예제 프로젝트 정보 Editor : IntelliJ Web Framework : SpringBoot - Maven https://github.com/jooyeokkim/Kakao-Login-with-SpringBoot GitHub - jooyeokkim/Kakao-Login-with-SpringBoot Contribute to jooyeokkim/Kakao-Login-with-SpringBoot development by creating an account on GitHub. github.com 이제 Kakao Login API 문서를 참고하여, 사용자의 Access Token을 받아볼 것이다. https://developers.kakao.com/docs/latest/ko/kakaologin/rest.. 2021. 8. 8.
[OAuth] Kakao Login(1) - 내 애플리케이션 설정 OAuth 2번째 예제이다. OAuth가 무엇인지 잘 모른다면, 아래 포스팅을 읽고 오는 것을 권한다. https://kimcoder.tistory.com/320 [OAuth] OAuth 2.0 소개 1. OAuth이 왜 필요한가? 자신이 운영하는 서비스에 소셜 로그인같은 다른 서비스를 연동시킨다고 생각해보자. 그리고 사용자가 여러분에게 ID, PW를 알려주면, 여러분이 사용자 대신에 SNS 로그인 kimcoder.tistory.com Access Token을 받아오는 과정은 Google Calendar 예제에서 자세히 설명했으며, 그 과정이 Kakao API도 매우 유사하기 때문에, 본 포스팅에서는 이전 포스팅에 비해 설명이 다소 적을 것임을 미리 밝힌다. 이러한 이유로 Google Calendar 예.. 2021. 8. 7.
[OAuth] Google Calendar(4) - 내 서비스에 적용하기 들어가기 앞서... Google Calendar(1)~(3)에 걸쳐 우리는 성공적으로 access_token을 얻어왔다. 다시 말하지만, access_token은 인증된 사용자를 식별하는 토큰이다. 이제 이 access_token을 이용하여 구글 캘린더 정보를 프로젝트의 콘솔상에 출력해볼 것이다. 필자는 SpringBoot - Maven 프로젝트를 사용했으며, Google API의 데이터 반환 형식은 기본적으로 JSON이기 때문에 JSON 데이터 파싱을 위한 라이브러리들도 프로젝트 내에 설치했다. 설치할 라이브러리들과 JSON 데이터 파싱 방법은 아래 포스팅에서 설명해두었으니 읽고 오는것을 권장한다. https://kimcoder.tistory.com/333 [OpenAPI] 코로나 19 감염 현황(2).. 2021. 8. 4.
[OAuth] Google Calendar(3) - Access Token 받기 드디어 우리는 access token을 얻는 마지막 단계에 도달했다. 1. 요청 URI 양식 Client는 Authorization Server에게 access token을 받기 위해, 최종 인증을 위한 요청 URI을 작성해야 한다. 공식 문서에서 양식을 살펴보자. 먼저, endpoint는 "https://oauth2.googleapis.com/token"이라고 명시되어 있다. 그리고 client_id, client_secret, code, grant_type, redirect_uri은 모두 필수 파라미터이다. - client_id : API 콘솔 인증 정보 페이지에서 찾을 수 있음 - client_secret : API 콘솔 인증 정보 페이지에서 찾을 수 있음. 노출되어서는 안되는 비밀번호. - cod.. 2021. 8. 2.
[OAuth] Google Calendar(2) - Authorization code 받기 ◎ 예제 프로젝트 정보 Editor : IntelliJ Web Framework : SpringBoot - Maven https://github.com/jooyeokkim/Google-Calendar-with-SpringBoot GitHub - jooyeokkim/Google-Calendar-with-SpringBoot Contribute to jooyeokkim/Google-Calendar-with-SpringBoot development by creating an account on GitHub. github.com 1. Google Identity Platform 접속 Goodle Identity Platform에서는 개발 환경과 개발 언어별로 Google API에 OAuth 2.0을 적용하는 방법.. 2021. 8. 2.
[OAuth] Google Calendar(1) - API 문서 읽기 이전에 올렸던 "OAuth 2.0 소개" 포스팅을 바탕으로 OAuth를 실제로 사용해볼 것이다. https://kimcoder.tistory.com/320 [OAuth] OAuth 2.0 소개 1. OAuth이 왜 필요한가? 자신이 운영하는 서비스에 소셜 로그인같은 다른 서비스를 연동시킨다고 생각해보자. 그리고 사용자가 여러분에게 소셜 ID, PW를 알려주면, 여러분이 사용자 대신에 SNS 로 kimcoder.tistory.com 필자가 올린 Google Calendar(1)~(4)를 쭉 훑어보면서 OAuth를 더 깊이 이해해보길 바란다. 1. Google Cloud Platform 접속 Google API는 Google Cloud Platform에서 이용할 수 있다. https://cloud.googl.. 2021. 8. 1.
[OAuth] OAuth 2.0 소개 1. OAuth이 왜 필요한가? 자신이 운영하는 서비스에 소셜 로그인같은 다른 서비스를 연동시킨다고 생각해보자. 그리고 사용자가 여러분에게 ID, PW를 알려주면, 여러분이 사용자 대신에 SNS 로그인을 해준다고 생각해보자. 그렇다면 사용자들은 과연 안심할 수 있을까? 누구나 어딘가에 자신의 개인정보가 남는 것은 원치 않을 것이다. 이런 문제를 해결하기 위해 필요한 것이 Access Token으로, 이는 인증된 사용자들을 식별하는 토큰이다. OAuth란? 사용자의 인증 정보를 내 서비스에 넘기지 않고, Access Token을 이용해서 사용자 인증이 필요한 API에 접근할 수 있게 해주는 기술 2. OAuth 용어 1) Resource Owner - 내 서비스를 이용하는 사용자 - 자원의 소유자 2) C.. 2021. 7. 13.