20230704 [OAuth 2.0] OAuth에 대해서 알아보자!

Daisy🌷·2023년 7월 4일
0


OAuth("Open Authorization")
인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다.
이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존, 구글, 페이스북, 마이크로소프트, 트위터가 있으며 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용한다.

개요

OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본 인증인 아이디와 비밀번호를 사용하였는데, 이는 보안 상 취약한 구조일 가능성이 매우 많다.
OAuth는 제각각인 인증방식을 표준화한 인증방식이다. OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 된다.


요즘 외부 소셜 계정을 기반으로 회원가입 및 로그인 할 수 있는 웹 어플리케이션을 쉽게 찾아볼 수 있다. 이런 어플리케이션의 경우 클릭 한 번으로 간편하게 로그인할 수 있다. 이때 사용되는 프로토콜이 OAuth다.
외부 어플리케이션은 사용자 인증을 위해 naver나 kakao 등의 사용자 인증 방식을 사용한다. 이때, OAuth를 바탕으로 제 3자 서비스는 외부 서비스(naver, kakao)의 특정 자원을 접근 및 사용할 수 있는 권한을 인가받게 된다.

관련 용어

사용자(user): 서비스 제공자와 소비자를 사용하는 계정을 가지고 있는 개인
소비자(consumer): Open API를 이용하여 개발된 OAuth를 사용하여 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
서비스 제공자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.

<참고 자료>
https://ko.wikipedia.org/wiki/OAuth
https://tecoble.techcourse.co.kr/post/2021-07-10-understanding-oauth/

profile
티스토리로 블로그를 이전했습니다. 😂 구경 오세요! 👉🏻 https://u-ryu-logs.tistory.com

0개의 댓글