Section 3: OAuth

sunnychu·2023년 7월 3일

SEBFE45

목록 보기
19/19
post-thumbnail

접근 권한 위임

  • 한 서비스가 다른 서비스에 있는 보호된 리소스에 대한 접근 권한을 위임하거나 받는 기능

예를 들어 내 인스타그램 계정에 있는 이미지들을 다른 사이트로 가지고 오고 싶거나, 이 사이트에서 구글 캘린더 일정을 가져와 수정하고 싶거나 이런 경우들이 생기게 되었다.

하지만, 이런 인스타그램 또는 구글의 경우 아무런 인증 없이는 접근이 불가능한 경우가 많은데 어떻게 가지고 올 수 있을까?

1. 유저가 직접 옮길 수 있는 방법

인스타그램에서 사진을 가지고 오고 싶으면 인스타그램에 있는 이미지들을 모두 컴퓨터에 다운로드 받고 이 이미지를 옮기고 싶은 사이트에 직접 업로드를 하는 방법이 있다.

  • 다만, 이 방법은 데이터 양이 많거나 또 자주 수정될 수록 작업량이 늘어나는 단점이 있어 좋은 방법은 아니다

2. 데이터를 받아오려는 사이트에서 데이터를 가지고 오려는 사이트에 대한 "유저 인증 정보"를 넘겨주는 방법

다른 사이트에서 구글 캘린더에 저장된 일정들을 받아오고자 한다면, 유저의 구글 이메일과 비밀번호를 해당 사이트에 제공하고 사이트가 이걸 사용하여 일정 데이터를 가지고 오게 하는 방법이다,

  • 데이터와 기능들에 접근하는 과정을 "자동화"할 수 있어 편리한 방법이지만 위험하다.
    • why? 제공된 사이트에서 그 비밀번호를 빼돌릴지, 제대로 관리될지 알 수가 없기 떄문이다.
    • 특히 구글 인증 정보의 경우 구글 캘린더는 물론 유튜브, gmail 등 여러 사이터에서 사용될 수 있기 때문에 악용할 수 있는 여지가 많다

그렇다면 이 문제들을 해결하기 위해 유저의 인증 정보를 다른 사이트에 제공하지 않고도 접근 권한을 위임할 수 있는 OAuth(Open Authorization) 개방형 접근 권한 위임 표준이 만들어졌다.

이메일과, 비밀번호 같이 민감한 정보를 제 3자에게 넘겨주지 않으면서 제 3자가 보호된 리소스에 접근하게 할 수 있게 해주는 절차

0개의 댓글