오늘은 인터넷 사용자들이 다른 웹사이트 상의 자신들의 정보에 대해 접근 권한을 부여할 수 있는 OAuth에 대해 학습하고 실제 Github에서 OAuth 인증을 통해 사용자 정보를 불러오는 스프린트를 진행하였다.
정의
OAuth2.0은 인증을 위한 표준 프로토콜의 한 종류로, 보안 된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공(Authorization)하는 프로세스를 단순화하는 프로토콜 중 한 방법이다.
유저 입장에서 굉장히 많은 서비스를 이용하고 있고 각각의 서비스들을 이용하기 위해서는 회원가입 절차가 필요한 경우가 대부분이다. OAuth 를 활용한다면 자주 사용하고 중요한 서비스들(예를 들어 google, github, facebook) 의 ID와 Password만 기억해 놓고 해당 서비스들을 통해서 소셜 로그인을 할 수 있다.
또한 검증되지 않은 App에서 OAuth를 사용하여 로그인한다면, 직접 유저의 민감한 정보가 App에 노출될 일이 없고 인증 권한에 대한 허가를 미리 유저에게 구해야 하기 때문에 더 안전하게 사용할 수 있어 보안상의 이점도 있다.
관련 용어
흔히 접했던 OAuth 인증을 배우고 실제로 구현을 해보니, 내가 이용했던 서비스들이 어떤 방식으로 작동되고 보안에 이점이 있다는 사실을 알 수 있었다. 현재 많은 사이트들에서 사용하는 기능이기 때문에 구글, 네이버와 같이 유명한 사이트의 OAuth와 API에 대해서 더 공부하고 추후 프로젝트에도 활용하도록 해야겠다.