[정보처리기사] 필기 실기 통합 이론 제 13편 – REST 인증 방식(OAuth·토큰·쿠키) 완전 정복

REST 인증이 뭐죠?

이제 어느 정도 이해도가 높아지면 생각보다 많은 초보 개발자들이 이렇게 말합니다.

“REST는 알겠는데… 로그인은 갑자기 왜 어려워지는 거죠?”

저 또한 그렇습니다. 사실 지금도 공부를 꾸준히 하고 있지만 최근에야 이해했답니다.

로그인이 어려운 이유는 생각보다 간단합니다.

REST는 “상태가 없는(Stateless)” 구조이고, 로그인“상태를 기억해야 하는 기능”이기 때문입니다.

즉, 다시 말해서.

  • REST는 “요청-응답만 주고받는 단순 구조” 이지만,
  • 인증(Authentication)인가(Authorization)“누가, 무엇을 할 수 있는지”계속 확인해야 합니다.

그래서 로그인은 REST 인증 구조와 가장 부딪히는 부분이며, 이 때문에 토큰, 세션, 쿠키, OAuth 같은 인증 방식이 등장하게 된 것 입니다.

이번 글에서는 “REST API에서 로그인은 어떻게 동작하는가?” 를 입문자 기준으로 가장 쉽게 설명하면서,

  • 세션/쿠키 방식
  • 토큰 기반 인증 방식(JWT)
  • OAuth 인증 방식
  • 정보처리기사 포인트 및 기출 유형

까지 한번에 정리합니다. REST 인증방식에 대하여 오늘도 저와 함께 시작해 보시죠!

rest 인증

REST API에서 “인증”이 필요한 이유

REST는 Stateless(무상태) 특성을 가집니다.

무상태란 상태가 없다는 말로 서버는 클라이언트의 상태를 유지하지 않습니다.
그렇기 때문에 요청을 받을 때마다 “누구냐 넌?” 을 하는 겁니다.

그래서 필요한 것이 바로 인증 입니다.

문제설명
서버는 클라이언트를 기억하지 않는다REST의 기본 원칙
모든 요청이 독립적이다요청마다 다시 사용자 정보 확인 필요
로그인 후에도 사용자를 식별해야 한다인증 토큰, 쿠키 등 필요

인증(Authentication)과 인가(Authorization)의 차이

비슷해서 입문자 분들이 많이 헷갈리는 부분입니다. 하지만 이 부분을 꼭 짚고 넘어가셔야 하며 반드시 이해 해야 합니다.
이 정의를 모르면 REST 인증을 제대로 이해할 수 없습니다.

개념의미예시
Authentication (인증)“너 누구냐?”아이디/비밀번호 login
Authorization (인가)“너가 할 수 있는 행동은?”결제, 글쓰기 권한 확인

대부분의 REST 인증 구조는

로그인 = 인증
로그인 후 페이지 접근 = 인가

라는 순서로 진행 됩니다.


REST 인증 방식 3종 // 쿠키 + 세션 방식 (전통적 방식)

웹 초창기부터 사용되던 인증 방식입니다.

🔹 원리

  1. 사용자가 로그인
  2. 서버가 세션 ID를 발급
  3. 클라이언트 브라우저는 세션ID를 쿠키로 저장
  4. 다음 요청부터 쿠키 자동 전송 → 서버에서 세션ID로 사용자 확인

🔹 특징

  • 전통적 웹(JSP, Spring MVC, PHP 등)에서 가장 흔함 -> 공공기관은 여전히 사용합니다.(네, 저 쓰고 있습니다…)
  • REST API에는 다소 부적합
  • 모바일 앱에서는 잘 쓰이지 않음

🔹 장점 vs 단점

장점단점
구현 쉬움서버가 세션을 저장해야 해서 상태 유지(Stateful)
많은 프레임워크가 지원서버 메모리 부담 증가
보안 설정 편리REST 철학과 거리가 멀다

REST 인증 방식 3종 // 토큰 기반 인증(JWT) – 현대 REST의 표준

대부분의 REST API(웹·앱·백엔드)는 JWT(JSON Web Token) 기반 인증을 사용한다.

🔹 원리

  1. 사용자가 로그인
  2. 서버가 JWT 토큰 발급 → 클라이언트 저장(로컬 스토리지 등)
  3. 이후 요청마다 헤더에 Authorization: Bearer <token> 포함
  4. 서버는 토큰을 검증해 사용자 인증

🔹 왜 REST와 잘 맞을까?

서버가 상태를 기억할 필요가 없다. 무상태(Stateless) → 토큰만 검증하면 끝.

🔹 장점 vs 단점

장점단점
REST와 최적화토큰 유출 시 위험 큼
서버 부담 적음토큰 자체가 커서 네트워크 부하 가능
모바일/웹 모두 사용토큰 관리(갱신 등) 로직 필요

REST 인증 방식 3종 // OAuth 2.0 – “로그인 위임” 구조

우리가 흔히 보는

  • “구글 로그인”
  • “카카오 로그인”
  • “네이버 로그인”

이런 기능이 바로 OAuth 2.0 입니다.

🔹 원리

  1. 사용자가 Google/Kakao 로그인 클릭
  2. OAuth 서버(구글 등)에서 인증
  3. 내 서비스로 토큰을 전달
  4. 내 서비스는 그 토큰으로 사용자 정보 조회

🔹 특징

  • 직접 비밀번호를 다루지 않아도 됨
  • 소셜 로그인 구현 시 필수
  • 기업 서비스에서 매우 흔함

🔹 장점 vs 단점

장점단점
사용 편리, 전 세계 표준구현 난이도 높음
비밀번호 보관 불필요토큰·리프레시·스코프 관리 필요
보안 강력설정 오류 시 취약 가능

세 가지 인증 방식 비교표

구분쿠키/세션JWT 토큰OAuth 2.0
REST 적합도낮음매우 높음높음
서버 상태(State)유지(Stateful)무상태(Stateless)무상태(Stateless)
사용처전통적 웹웹/앱/백엔드 API소셜 로그인
구현 난이도쉬움보통어려움
보안보통높음매우 높음

“로그인은 REST 구조에서 어떻게 동작할까?” – 순서 흐름도로 이해하기

1) 클라이언트가 로그인 요청

POST /auth/login
→ 서버가 DB에서 비밀번호 확인

2) 서버는 인증 성공 시 토큰 발급

→ JWT 또는 세션ID 등

3) 클라이언트는 토큰을 저장

→ 로컬 스토리지 또는 쿠키

4) API 호출 시 토큰을 계속 포함

→ Authorization 헤더

5) 서버는 토큰을 검증

→ 유효하면 리소스 접근 허용

즉, 로그인과 REST 구조를 연결하는 핵심은 토큰입니다.


정보처리기사 기출 포인트 정리

인증 vs 인가

  • 인증: Authentication
  • 인가: Authorization

REST 원칙 – 무상태(Stateless)

  • 서버가 클라이언트 상태를 저장하지 않음
  • 그래서 토큰 기반 인증이 필요

OAuth 2.0 구성요소

용어의미
Resource Owner사용자를 의미
Client서비스를 제공하는 시스템
Authorization Server인증 담당 서버
Resource Server사용자 정보가 있는 서버

토큰 방식

  • Access Token
  • Refresh Token
  • Bearer Token

정보처리기사 기출 예제

문제 1

OAuth 2.0에서 사용자를 대신해 보호된 리소스 접근을 허용하는 인증 방식은?

정답: OAuth 2.0 (위임 인증)


문제 2

REST API 인증 방식으로 서버가 상태 정보를 저장하지 않고 클라이언트가 토큰을 유지하는 방식은?

정답: JWT 기반 인증


문제 3

인증(Authentication)과 인가(Authorization)의 차이를 서술하시오.

정답:

  • Authentication: 사용자 신원 확인
  • Authorization: 권한 확인

마무리하며.

인증을 이해하면 REST가 쉬워진다

REST는 단순하지만, 로그인은 단순하지 않습니다.

하지만 원리는 명확합니다.

  • 서버는 상태를 기억하지 않는다(Stateless)
  • 그래서 클라이언트가 자신을 증명할 수 있는 토큰이 필요하다
  • 쿠키/세션, JWT, OAuth는 그 방식의 차이일 뿐이다

REST API를 설계하거나 공부할 때 “인증이 어떻게 이루어지는지” 이해하면 웹 개발 전체가 훨씬 쉽고 단단해집니다. 반드시 여러분들에게 도움이 될 것이라 생각합니다.


다음 편 예고

다음편은 [정보처리기사] 제 14편 – REST API 보안 실무편(HTTPS·CORS·CSRF·JWT 보안) 완전 정복으로 찾아오겠습니다. 보안 실무로 좀 더 단단하고 한 단계 더 발전할 수 있는 입문 및 초급 개발자가 되어봐요!

REST 인증 외부 참고자료 (추천 3개)

MDN Web Docs – HTTP Cookie 기본 개념

쿠키의 구조, 용도, 보안 옵션(SameSite, Secure, HttpOnly)까지 상세하게 설명하는 가장 권위 있는 문서. REST 인증에서 쿠키 기반 인증을 설명할 때 반드시 참고하면 좋음. https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies

JWT 공식 사이트 – JSON Web Token 소개

JWT 구조(헤더·페이로드·시그니처), 사용 목적, 장단점을 시각적으로 쉽게 정리한 공식 가이드. REST 인증의 핵심인 토큰 방식의 기본 개념을 강화하기 좋음. https://jwt.io/introduction

OAuth 공식 문서 – OAuth 2.0 개요

OAuth의 역할, 권한 부여 방식, Access Token 구조 등 실무에서 사용하는 인증 흐름을 정확하게 설명함. REST 로그인과 실무 서비스 연동(구글 로그인, 카카오 로그인 등)을 이해하는 데 강력한 참고 자료. https://oauth.net/2/


이전 편이 궁금하다면?

[정보처리기사] 필기 실기 통합 이론 제 1편 – 정보와 보안의 모든 것
[정보처리기사] 필기 실기 통합이론 제2편 – 디자인패턴
[정보처리기사] 필기·실기 통합이론 제3편 – IT 신기술 및 전산 용어 총정리
[정보처리기사] 필기·실기 통합 이론 제 4편 – 실무에서 바로 쓰이는 기출전산용어


[정보처리기사] 필기·실기 통합 이론 제 5편 – 기출용어 중 실무에서 자주 쓰이는 고급 전산용어
[정보처리기사] 필기·실기 통합 이론 제 6편 – 기출용어 중 실무에서 자주 쓰이는 네트워크 보안과 데이터 암호화 핵심 정리 (SSL/TLS 포함)
[정보처리기사] 필기·실기 통합 이론 제 7편 – 실무에서 바로 쓰이는 네트워크 구조 완전 정복


[정보처리기사] 제 8편 – TCP/IP 완전 정복 (핵심 개념 + 포트번호 + 계층 역할)
[정보처리기사] 필기 실기 통합 이론 제 9편 – 웹 통신 완전 정복(HTTP, HTTPS, 쿠키, 세션, 토큰)
[정보처리기사] 필기 실기 통합 이론 제 10편 – 웹 보안 완전 정복(XSS · CSRF · SQL Injection 쉽게 이해하기)


[정보처리기사] 필기 실기 통합 이론 제 11편 – 웹 서버와 WAS 구조 완전 정복
[정보처리기사] 필기 실기 통합 이론 제 12편 – REST API 완전 정복(입문부터 실무까지)

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤