브리의 성장기

[용어정리] OAuth 개념이 궁금해 본문

나의 글로 정리하기

[용어정리] OAuth 개념이 궁금해

브리(BRIE) 2023. 5. 17. 12:55
728x90

얼마 전 서비스 구현 회의에서, OAuth 로그인 이라는 단어가 나왔다.

나에게 생소한 단어라 궁금해져 알아보았는데, 전혀 낯선 기능은 아니었다. 이에 대해 조금 더 자세히 알아보았다. : )


💡 OAuth 란?
구글, 페이스북, 트위터와 같은 다양한 플랫폼의 특정한 사용자 데이터에 접근하기 위해 
third_party application 예써 사용자의 접근 권한을 위임(Delegated Authorization)받을 수 있는 표준 프로토콜이다.

 


쉽게 풀어서 얘기하면, third-party 서비스에서도 인증을 가능하게 하고 그 서비스의 API를 이용하게 해주는 것. 
이것을 바로 OAuth라고 한다.

 

예) 외부 웹 어플리케이션에 Google로 로그인하면 API를 통해 연동된 계정의 Google Calendar 정보를 가져와 사용자에게 보여줄 수 있다.

 

 

💡 OAuth 는 왜 사용할까?
1. 유저는 third party Application에 아이디와 비밀번호를 제공하는 것에 거부감이 있다.
2. OAuth 가입을 통해 복잡한 step 을 건너뛰고 빠르고 간편하게 가입 가능하여 허들이 낮다.

 

 


💡 OAuth 플로우

아래 도식의 출처(https://hudi.blog/oauth-2.0/) 각 단계별 정말 잘 정리가 되어있다.

 

아래 도식에서 OAuth 동작에 관여하는 참여자에 대해 설명하자면,
Resource Server : Client가 제어하고자 하는 자원을 보유하고 있는 서버 (네이버/카카오/구글 등)
Resource Owner : 자원의 소유자 (Client가 제공하는 서비스를 통해 로그인하는 실제 유저)
Client : Resoure Server에 접속해서 정보를 가져오고자 하는 클라이언트(웹 어플리케이션)

 

출처: https://hudi.blog/oauth-2.0/

 

지금까지 OAuth를 왜 사용하는지, 그리고 어떻게 OAuth를 통하여 인증하는지에 대해 알아봤다.

OAuth를 사용하면 OpenID와 같이 한 곳에서 인증을 담당하고 외부에서 쓸 수 있는 장점 뿐만 아니라, 부가적인 서비스에 권한을 걸 수 있다.
또한 유저가 회원가입 시 느끼는 부담을 줄이고 사용 편의성을 높일 수 있다.

728x90
Comments