2023. 11. 16. 15:13ㆍProject/멍뭉케어
카카오 소셜 로그인 기능을 해당 프로젝트에서 구현하려고 한다. 그 전에, OAuth2.0 개념에 대해 알아보고자 팀원들에게해당 글을 남긴다.
✅ OAuth 2.0이란?
인터넷 사용자들이 비밀번호를 제공하지 않고, 자신의 정보를 다른 웹 사이트나 애플리케이션과 공유할 수 있게 해주는 인증 프로토콜이다. 이 프로토콜을 사용하면 특정 애플리케이션에서 자신의 정보를 안전하게 보호하면서, 다른 서비스와 통합할 수 있다.
✅ OAuth 2.0의 4가지 주요 역할
1. 리소스 소유자: 리소스 소유자 또는 사용자. 보호된 자원에 접근할 수 있는 자격을 부여해 주는 주체. OAuth2 프로토콜 흐름에서 클라이언트를 인증(Authorize)하는 역할을 수행합니다. 인증이 완료되면 권한 획득 자격(Authorization Grant)을 클라이언트에게 부여합니다. 개념적으로는 리소스 소유자가 자격을 부여하는 것이지만 일반적으로 권한 서버가 리소스 소유자와 클라이언트 사이에서 중개 역할을 수행하게 됩니다.
2. 클라이언트: 보호된 자원을 사용하려고 접근 요청을 하는 애플리케이션
3. 리소스 서버: 사용자의 보호된 자원을 호스팅하는 서버
4. 인증 서버: 권한 서버. 인증/인가를 수행하는 서버로 클라이언트의 접근 자격을 확인하고 Access Token을 발급하여 권한을 부여하는 역할을 수행
✅ OAuth 2.0 인증 과정
권한 부여 방식이 4가지 정도 있다고 하는데, 우리는 대표적으로 하나만 선정해서 보자.
권한 부여 승인을 위해 자체 생성한 Authorization Code를 전달하는 방식으로 많이 쓰이고 기본이 되는 방식입니다. 간편 로그인 기능에서 사용되는 방식으로 클라이언트가 사용자를 대신하여 특정 자원에 접근을 요청할 때 사용되는 방식입니다. 보통 타사의 클라이언트에게 보호된 자원을 제공하기 위한 인증에 사용됩니다. Refresh Token의 사용이 가능한 방식입니다.
✅ 참고
https://www.youtube.com/watch?v=JBN5dCnLYnY&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=65
https://blog.naver.com/mds_datasecurity/222182943542
OAuth 2.0 동작 방식의 이해
OAuth 2.0(Open Authorization 2.0, OAuth2)은 인증을 위한 개방형 표준 프로토콜입니다. 이 프로토...
blog.naver.com
'Project > 멍뭉케어' 카테고리의 다른 글
@Mapper 사용법 (1) | 2023.11.27 |
---|---|
EC2-MySQL-workbench 연동 (0) | 2023.11.23 |
INT vs VARCHAR (1) | 2023.11.11 |
Rest API (0) | 2023.11.08 |