티스토리 뷰
나의 서비스 mine (opentutorials.org)
사용자 User
나의 서비스가 연동하고자 하는 그들의 서비스 Their (Google, Facebook, Twitter...)
예를 들어 사용자가 우리 서비스에 접속해서 글을 쓰거나 봤을 때 나의 서비스가 사용자를 대신해서 구글과 같은 서비스의 캘린더에 날짜를 기록한다거나 또는 Facebook에 글을 쓰거나 본 것을 공유하는 등을 하기 위해서는 우리가 사용자로부터 사용자가 사용하고 있는 그들의 서비스에 접근할 수 있도록 허가를 받아야 합니다.
가장 쉬운 방법은 그들의 서비스에 있는 사용자의 ID와 Password를 사용자로부터 전달받아서 우리가 사용자의 ID와 비밀번호를 기억하고 있다가 실제로 그들의 서비스에 접속할 때 ID와 Password를 이용합니다.
그것은 아주 간단하고 그들의 서비스의 모든 기능을 다 사용할 수 있기 때문에 아주 강력한 방법입니다.
하지만 이것은 상당히 위험한 방법입니다. 사용자 입장에서는 자신의 구글, 페이스북과 같은 서비스의 ID와 Password를 처음 보는 서비스에 맡겨야 하기 때문에 처음 보는 서비스를 믿을 수 없습니다. 그리고 자기가 가지고 있는 ID와 Password를 그 서비스에서만 사용하는 것이 아니라 자기가 사용하는 거의 모든 서비스에 똑같은 ID와 Password를 사용하는 사용자들이 많기 때문에 그 정보가 유출되게 되면 굉장한 보안 사고가 일어나게 됩니다.
뿐만 아니라 우리에게도 좋은 일이 아닙니다. 사용자에게 생명줄과 같은 아이디 비밀번호를 우리가 맡고 있기 때문에 이것이 유실됐을 때 겪게 될 고초들은 상상만 해도 끔찍합니다.
또 그들의 서비스 입장에서도 자신들의 사용자의 ID와 Password를 신뢰할 수 없는 제 3자가 가지고 있다는 것은 매우 불만족스러운 상황일 것입니다.
바로 이런 상황에서 우리를 구원해줄 도구, 그것이 바로 oAuth입니다. oAuth를 이용하면 훨씬 더 안전하게 우리가 만든 서비스를 그들의 서비스와 상호작용할 수 있게 됩니다.
oAuth를 이용하면 이전에 우리가 그들의 서비스의 ID와 Password를 나의 서비스가 가지고 있었는데 이제 대신에 유저의 요청에 의해서 그들의 서비스가 ID와 Password 대신에 accessToken이라고 하는 일종의 비밀번호를 발급합니다.
그리고 accessToken는 첫 번째, 그들의 서비스의 ID와 Password가 아니라는 장점이 있고 ,
두 번째, 그들의 서비스가 가지고 있는 모든 기능이 아니라, 그 중에 나의 서비스가 꼭 필요한 필수적인 기능만 부분적으로 허용하는 비밀번호 입니다.
그래서 그들의 서비스의 accessToken을 우리가 oAuth를 통해서 획득한 다음에 그 access Token을 통해서 그들의 서비스에 접근해서 데이터를 가져오고 수정하고 생성하고, 삭제하는 작업을 할 수 있습니다. 이것을 가능하게 해주는 기술이 바로 oAuth이고 oAuth를 통해서 우리는 accessToken를 얻어낼 수 있습니다.
oAuth의 이러한 특징을 이용한다면 아예 회원들의 아이디와 비밀번호를 처음부터 보관하지 않고 회원을 식별할 수 있는 기능을 구현할 수 있습니다.
'프론트엔드 > CS' 카테고리의 다른 글
[OAuth 2.0] 03. 등록 (1) | 2022.10.13 |
---|---|
[OAuth 2.0] 02. 역할 (0) | 2022.10.12 |
TCP / IP (0) | 2022.09.17 |
SSR / CSR / SSG 와 TTV / TTI (0) | 2022.09.15 |
HTTP와 HTTPS의 차이점 (0) | 2022.09.14 |
- Total
- Today
- Yesterday
- EVERY
- redux-middleware
- 비교 연산자
- filter
- null
- 얕은복사
- redux thunk
- redux middleware
- 참조형 데이터
- find
- undefined
- redux-thunk
- 느슨한 타입(loosely typed)
- redux
- map
- 타입변환
- foreach
- findindex
- 기본형 데이터
- some
- 동적(dynamic) 언어
- 불변 객체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |