※이글의 예시들은 Udemy의 Angela Yu의 "The-Complete-Web-Development-Bootcamp" 강의의 내용을 정리한 것입니다.
OAuth란 Open Authorisation의 약자이다. OAuth를 이해하기 위해서 한가지 예를 들어보겠다.
만약 내가 인스타그램을 오마주한 먹스타그램이라는 SNS를 만든다고 하자. 인스타그램을 즐겨하던 유저가 로그인을 했지만, 가지고 있던 친구 한명도 없이 시작한다면 막막할 것이다. 이때, 우리는 유저가 자신의 인스타그램 계정에 접근할 권한을 요청하도록 할 수 있다. 그렇게 해서 친구 추천이 뜨게 되고 이들을 추가할 수 있게 된다.
OAuth를 이용하여 우리는 제3의 사이트에 있는 계정과 연동된 정보를 가져올 수 있다.
또 어떤 상황에 OAuth를 활용할 수 있을까? facebook이나 amazon, google 과 같은 큰 회사들은 복잡하고 수학적인 방식으로 보안을 강화하고 있다. 이러한 안전한 보안을 얻기 위해 작은 회사나 개인 개발자가 할 수 있는 쉬운 방법은 이들과 연동되는 로그인 방식을 취하는 것이다.
OAuth를 이용하여 우리는 안전한 보안 방식을 쉽게 취할 수 있다.
단계
1. 앱을 만든다
2. 필요한 사이트로 redirect하게 만든다(facebook으로 로그인하기 버튼 같은)
3. facebook 에 들어가 로그인
4. 유저가 권한 동의(OOO에서 당신의 이러이러한 정보를 받아보도록 하겠습니까? 같은)
5. facebook으로부터 Authorisation code를 받는다.
6. access token을 위해 authcode를 교환한다(이 access token을 DB에 저장해두고 페이스북의 정보를 받아볼 수 있다.)
'강의노트' 카테고리의 다른 글
react란? (0) | 2020.01.19 |
---|---|
google OAuth 사용 (0) | 2020.01.18 |
salting 과 hashing (0) | 2020.01.15 |
RESTful API란? (0) | 2020.01.08 |
[mongoDB] mongoDB에서 관계성 정립 (0) | 2020.01.03 |