OAuth
-
Sneakers Mania - 카카오 로그인(1)Projects/Problem & Solution 2021. 12. 27. 14:54
OAuth란? OAuth의 개념 OAuth는 Open Authorization의 약자이다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용된다. 즉, 애플리케이션의 사용자 비밀번호를 제3자에게 제공하지 않으면서 인증 및 권한 부여를 관리해주는 오픈형 프로토콜이다. 예를 들어서, 쇼핑몰과 같은 사이트에 접속할 때 네이버나 카카오로 로그인을 할 수 있는 것처럼 별도의 정보 제공 없이 로그인을 제공하는 플랫폼의 아이디만 있으면 서비스를 이용할 수 있게 해주는 것이 바로 OAuth이다. OAuth 2.0의 탄생 웹이 성장하면서 많은 사이트들이 분산 서비스에 의존하게 되고, third-pa..
-
Web - OAuth란?Web/Web 2021. 10. 20. 20:46
OAuth란? OAuth의 탄생 배경 ㆍ 사용자는 처음 보는 애플리케이션에 아이디와 비밀번호를 제공하고 싶지 않아 한다. ㆍ 또한, 개인정보를 여러 곳에 입력하면서 피싱에 둔감해지고 무엇보다 애플리케이션이 안전하다는 보장이 없기 때문에 보안에 취약하다는 문제가 있다. ㆍ 보안의 문제와 더불어 당시에는 인증과 권한을 부여하는 요구를 만족시킬만한 인증방식이 없었다. ㆍ 위와 같은 배경으로 인해 Twitter의 주도로 OAuth 1.0이 탄생하게 된다. OAuth란? ㆍ OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹 사이트 상의 자신들의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여할 수 있는 개방형 표준 방법이다. ㆍ 이러한 메커니즘은 Google, Facebook, Twitt..
-
Spring Security - Authentication 객체가 가질 수 있는 2가지 타입Framework & Library/Spring Security 2021. 10. 3. 15:51
Authentication 객체가 가질 수 있는 2가지 타입 ㆍ 로그인 진행이 완료되면 기존의 Sesson 공간에 Security Session 공간이 만들어진다. ㆍ Security Session에 들어갈 수 있는 정보는 Authentication 객체여야 한다. ㆍ 또한 Authentication 객체가 가질 수 있는 타입은 UserDetails와 OAuth2User 2가지 타입이다. ㆍ UserDetails와 OAuth2User 2가지 타입을 통해서 로그인을 한 사용자의 정보를 얻을 수 있다. 일반 로그인 사용자 정보 받기 IndexController 클래스 수정 @GetMapping("/test/login") @ResponseBody /* 일반 로그인 사용자에 대한 정보 받기 */ public S..
-
Spring Security - 구글 로그인 사용자 정보 받기Framework & Library/Spring Security 2021. 10. 2. 17:34
구글 로그인 후처리 PrincipalOauth2UserService 클래스 생성 @Service public class PrincipalOauth2UserService extends DefaultOAuth2UserService { @Override public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException { return super.loadUser(userRequest); } } ㆍ config 패키지에 oauth 패키지를 생성한 후 패키지 내에 PrincipalOauth2UserService 클래스를 위 코드와 같이 생성한다. ㆍ 해당 클래스는 소셜 로그인에 성공한 후 후속조치를 수행하는 OA..
-
Spring Security - 구글 로그인 준비Framework & Library/Spring Security 2021. 10. 2. 16:16
API 설정 프로젝트 생성 ㆍ 구글 API Console 사이트에 접속을 한 후 위 사진에 표시된 버튼을 클릭한 후 spring-oauth-google이란 프로젝트를 생성한다. OAuth 동의 화면 설정 ㆍ 프로젝트를 생성한 후 위 사진에 표시된 버튼을 클릭한 후 spring-oauth라는 이름으로 OAuth 동의 화면을 설정한다. 사용자 인증 정보 설정 ㆍ 위 사진에 표시된 버튼을 클릭한 후 spring-oauth라는 이름과 "http://localhost:8080/login/oauth2/code/google"의 URI로 사용자 인증 정보를 설정한다. ㆍ "http://localhost:8080/login/oauth2/code/google"는 OAuth Client 라이브러리를 사용하게 되면 고정으로 ..