개인 노트 정리) 프론트엔드 개발자가 알아야 하는 CS 지식 - 웹(Web) - OAuth

2023. 4. 11. 20:57개인노트-인강

프론트엔드 웹 개발의 모든 것 초격차 패키지 Online.
프론트엔드 개발자가 알아야 하는 CS 지식 Ch 01. 웹(Web)

 

# OAuth

OAuth(오어스)는 실질적으로 다양한 웹서비스를 개발할 때, 자주 사용되는 기술로서 이해할 수 있습니다.

특히 내가 만든 서비스를 사용자의 입장에서 다양한 편의성이 높은 기능을 제공하기 위해서 효과적으로 사용할 수 있습니다.

 

OAuth란?

  • OAuth란, Google 로그인 기능을 떠올리면 간단합니다.
  • 웹 서버에 Google 비밀번호를 제공하지 않고도, Google 계정의 일부 접근 권한을 부여할 수 있습니다.
  • 실제로 많은 애플리케이션에서는 SNS (Google, Facebook 등) 간편 로그인 기능을 제공합니다.

 

## 안전하지 않은 인증 방식 예시

  • 안전하지 않은 SNS 로그인 방식을 생각해 보겠습니다.
  • 아래 경우에서는 사용자가 서버에게 Google 아이디와 패스워드를 알려주어야 합니다.

위처럼 구글 계정 정보가 웹 서버로 간다는 점에서 보안적인 측면의 문제가 발생할 수 있습니다.

그래서 토큰방식을 이용해 볼 수 있습니다.

 

## Access Token 이용하기

  • 사용자가 설정한 권한에 대해서만 Google 정보에 접근할 수 있도록 합니다. (장점)
  • 바로 Access Token을 이용하는 것입니다.

  • 이러한 과정을 어떻게 효율적으로 구성할 수 있을지 고려해 봅니다.

## OAuth 2.0 구성 요소

  • OAuth 2.0의 핵심 구성 요소는 다음과 같습니다.

 

## OAuth 2.0 동작 예시 (개발자 = Client 입장에서)