보안

OAuth

OAuth는 비밀번호를 직접 공유하지 않고 다른 서비스 계정으로 로그인하거나 권한을 위임하는 인증 방식입니다.

쉬운 설명

비밀번호를 직접 공유하지 않고 다른 서비스 계정으로 로그인과 권한 위임을 처리하는 인증 방식.

배경과 쓰임까지 이해하기

조금 더 자세히

OAuth는 내 비밀번호를 직접 넘기지 않고 다른 서비스 계정으로 로그인하거나 권한을 허용하는 방식입니다. 보통 `Google로 로그인`, `Github로 로그인`, `Slack에 연결` 같은 버튼 뒤에서 OAuth 흐름이 사용됩니다. 예를 들어 사용자가 Github 계정으로 로그인하거나, 앱이 Google Calendar 읽기 권한을 받거나, Slack 메시지 전송 권한을 위임받을 때 쓰입니다.

OAuth는 사용자 동의, 권한 범위, 토큰 발급과 만료 같은 단계가 함께 들어갑니다. API 키(API Key)가 서비스 접근용 고정 키에 가깝다면, OAuth는 사용자별 권한 위임 흐름에 가깝습니다. 한마디로, OAuth는 비밀번호를 공유하지 않고 계정 권한을 안전하게 빌려주는 인증 방식입니다.

실제로는 이렇게 만나요

앱이 사용자 비밀번호를 받는 대신 Google의 로그인 화면으로 보내고, 성공하면 토큰(Token)을 받아 사용자 정보를 확인합니다.

  • 이런 거 할 때 나와요 GitHub(깃허브) 로그인, Google 로그인, Vercel 연동처럼 개발 도구와 서비스 연결에서 자주 등장합니다.
  • 이렇게 생겼어요 OAuth은(는) Token, API Key, Backend 같은 주변 개념과 함께 문서, 설정 화면, 오류 메시지에서 자주 보입니다.
  • 나오는 화면 예시 보안 작업을 하다가 Token, API Key, Backend를 확인하는 화면

헷갈리기 쉬운 점

redirect URI, scope, token 저장 방식을 잘못 설정하면 로그인 실패나 권한 노출 문제가 생길 수 있습니다.

왜 알아두면 좋을까요?

GitHub(깃허브) 로그인, Google 로그인, Vercel 연동처럼 개발 도구와 서비스 연결에서 자주 등장합니다.

Checklist

실제로 볼 때 확인할 것

  1. 01

    요청하는 scope가 과하지 않은지 본다

  2. 02

    redirect URI를 정확히 맞춘다

  3. 03

    토큰 저장 위치와 만료 시간을 확인한다

관계 지도