[번역] 3분만에 OAuth 이해하기
— Translate — 5 min read

이 게시물은 원본 아티클인 Understand OAuth in 3 minutes 를 한글로 번역한 게시글입니다. 게시물 내용의 저작권은 원작자 Philip 에게 있습니다.
모든 개발자들의 마음에 OAuth라는 용어는 익숙할 것입니다. 하지만 어떻게 코딩을 처음 시작하는 사람이나 개발과 전혀 관련없는 사람에게 이 개념을 설명할 수 있을까요? 여기 제가 한 시도가 있습니다.
OAuth는 무엇인가요?
OAuth는 Open Authorization의 약자로 서드파티 어플리케이션이 비밀번호 없이 사용자 데이터에 접근하기 위한 표준 프로토콜 입니다. 대학교 학생증을 사용해서 도서관 책을 빌린다고 상상해보세요. 여러분은 사서에게 로그인 정보를 제공하지 않고, 그저 학생임을 증명하는 자료만 전달합니다. 사서는 여러분의 성적이나 학비를 보지 않고 그저 여러분이 책을 빌릴 수 있는지 확인합니다.
OAuth는 어떻게 동작하나요?
여러분이 새로운 앱에 로그인 할 때 구글 계정으로 로그인할 지 물어본다고 생각해보세요. "네" 버튼을 누르면 구글의 로그인 페이지로 이동됩니다. OAuth가 어떻게 동작하는 지 알아봅시다.
여러분은 구글 인증 정보(이는 여러분이 누구인지 증명하는 것)를 입력하지만, 이 정보를 기존 앱에 다시 전달하는 대신, 구글이 토큰을 반환합니다. 이 토큰은 일시적으로 열쇠와 같은 역할을 하며, 앱에서 설정된 시간 동안 여러분의 구글 계정에서 특정 정보에 접근할 수 있는 권한을 부여합니다.
다이어그램 예제를 보면 더 도움이 될 것입니다.

OAuth는 왜 중요한가요?
OAuth의 기본적인 역할은 사용자 경험과 보안성 향상 입니다. OAuth를 사용하면 사용자들은 다른 인증 정보를 기억하기 않아도 되고, 어플리케이션은 사용자 비밀번호 보안 관리를 하지 않아도 됩니다. 게다가 사용자들은 어떤 정보를 공유할 지 제어할 수 있으며, 언제든지 접근 권한을 취소할 수 있습니다.
간단히 말해서
단순하게 말하자면 OAuth는 디지털 여권 같은 것입니다. 웹 보안의 영역에서 OAuth는 어플리케이션이 서로 통신할 수 있도록 하는 안전하고 효율적인 방법입니다. 이는 비밀번호와 같은 민감한 정보를 공유하는 대신 토큰을 사용합니다.
기억하세요, OAuth는 접근을 획득하는 것이 아니라, 사용자 인증 정보를 노출시키지 않고 제한된 접근 권한을 제공하는 것에 관한 것입니다. 이는 마치 여러분의 차 키를 주지만 집 키는 아닌것과 같습니다!
요약
OAuth의 개념을 이해하는 것은 현대의 웹 개발 및 보안에서 중요합니다. 이는 모든 것은 사용자 데이털르 보호하며 서로 연결된 서비스에서 유연성을 제공하는 것에 관한 것입니다. OAuth를 이해하고 구현한다면 우리는 안전하고 효율적인 사용자 경험을 제공할 수 있습니다.
보안 전략과 마찬가지로, OAuth를 구현하는 것은 특정 어플리케이션의 요구사항과 필수 보안 수준에 따라 달라집니다.