OAuth(Open Standard for Authorization)
- 개방형 Authorization 의 표준이며 API 허가(Authorize)를 목적으로 JSON 형식으로 개발된 HTTP 기반의 보안 프로토콜
- 사용자들이 사용하고자 하는 웹사이트 및 애플리케이션에 비밀번호를 제공하지 않고 접근 권한을 부여 받을 수 있게 해주는 공통적 수단으로서 사용 되어지는 기술
- 다양한 클라이언트 환경에 적합한 인증(Authentication) 및 인가(Authorization) 의 위임 방법을 제공하고 그 결과로 클라이언트에게 접근 토큰 (Access Token) 을 발급하는 것에 대한 구조
https://en.wikipedia.org/wiki/OAuth
2. 소셜 로그인
- 모든 웹 사이트에서 회원가입 과정을 거치는 것은 사용자에게 부담이 된다.
- 매번 번거로운 회원가입 과정을 수행해야 할 뿐 아니라, 웹 사이트마다 다른 아이디와 비밀번호를 기억해야 합니다. 또한 웹 사이트를 운영하는 측에서도 회원들의 개인정보를 지켜야하는 역할이 부담이 된다.
- 바이러스와 백신의 관계 처럼, 발전하는 해킹 기술을 막기 위해 보안을 강화하는 노력이 지속적으로 필요하기 때문
- 이런 문제를 해결하기 위해 OAuth 를 사용한 소셜 로그인이 등장했다.
① 카카오 로그인 흐름 이해하기
② 카카오 로그인 애플리케이션 등록하기
https://developers.kakao.com/console/app
- 위 사이트에 접속한다.
- 회원가입
- 내 애플리케이션 메뉴 선택 > 애플리케이션 추가하기
- 앱 아이콘, 앱 이름, 사업자명 저장
- 사이트 도메인 등록하기
- 카카오로 로그인 했을 때 인가토큰을 받게 될 Redirect URI (callback) 를 설정하기 ( http://localhost:8080/api/user/kakao/callback)
③ 카카오 서버에서 인가코드 받기
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
자세한 사용법은 아래 노션 자료 참고하기!
https://www.notion.so/Project-MySelectShop-OAuth2-1-6cca9ab6f31a4d29968fd01590e74a36
'Coding > Spring' 카테고리의 다른 글
[28] Transaction (0) | 2022.12.14 |
---|---|
[27] Spring AOP (0) | 2022.12.14 |
[25] JPA 다양한 연관관계 매핑 (0) | 2022.12.13 |
[24] ERD(Entity Relationship Diagram) (0) | 2022.12.13 |
[23] Spring Security (0) | 2022.12.13 |