Computer Science/Web

[Web] OAuth

2023. 8. 10. 18:49
목차
  1. OAuth (Open Authorization)
  2. OAuth 주체
  3. OAuth 동작 과정

OAuth (Open Authorization)

OAuth는 인터넷 사용자들이 자원을 다른 웹 애플리케이션에서 안전하게 제3자로부터 접근하고 사용할 수 있도록 허용하는 프로토콜 및 프레임워크이다. 주로 웹과 모바일 애플리케이션에서 사용되며, 사용자가 자신의 데이터를 달느 서비스와 공유하거나 다른 서비스의 데이터를 사용할 수 있게 해준다.

 

OAuth 주체

1. Resource Owner

리소스 소유자. 우리의 서비스를 이용하면서, 구글, 페이스북 등의 플랫폼에서 리소스를 소유하고 있는 사용자

2. Client

Resource Server의 자원을 이용하고자 하는 서비스 = 우리가 개발하려는 서비스

3. Resource Server

구글, 페이스북, 트위터와 같이 리소스를 가지고 있는 서비스

4. Authorization Server

Resource Owner를 인증하고, Client에게 액세스 토큰을 발급해주는 서버

 

OAuth 동작 과정

  1. 로그인 요청 (1~2)
    • 사용자가 클라이언트 애플리케이션 내에서 로그인을 요청
    • 클라이언트는 사용자의 브라우저를 Authorization Server로 보내기 위해 Authorization URL을 생성
    • URL = response type, client id, redirect uri, scope 포함

  2. 로그인 페이지 제공, ID/PW 입력 (3~4)
    • 사용자는 클라이언트가 생성한 Authorization URL로 이동하여 로그인 페이지를 받음
    • 사용자는 ID와 PW를 입력하여 자신을 인증

  3. Authorization Code 발급, Redirect URI로 리디렉트 (5~6)
    • 인증이 성공하면 Authorization Server는 사용자를 클라이언트가 등록한 Redirect URI로 리디렉션시킴
    • 이때, 리디렉트 URL에는 Authorization Code가 쿼리 스트링으로 포함됨

  4. Authorizatino Code와 Access Token 교환 (7~8)
    • 클라이언트는 Authorization Code를 Authorizatino Server로 전송하고, 이를 교환하여 Access Token을 받음
    • Access Token : 리소스 서버에 접근할 때 사용될 임시 토큰

  5. 로그인 성공 (9)
    • 클라이언트는 Access Token을 획득하고, 사용자에게 로그인 성공을 알림

  6. Access Token으로 리소스 접근 (10~13)
    •  클라이언트는 발급받은 Access Token을 사용하여 리소스 서버에 요청
    • 리소스 서버는 Access Token의 유효성을 확인하고, 필요한 리소스를 제공

 

[참고] https://hudi.blog/oauth-2.0/

저작자표시 (새창열림)

'Computer Science > Web' 카테고리의 다른 글

[Web] 인증 방식  (0) 2023.08.31
[Web] JWT (JSON Web Token)  (0) 2023.08.31
[Web] Web Server와 WAS의 차이  (0) 2023.08.10
[Web] REST API  (0) 2023.08.10
[Web] HTTP Request Methods & Status Code  (0) 2023.08.01
  1. OAuth (Open Authorization)
  2. OAuth 주체
  3. OAuth 동작 과정
'Computer Science/Web' 카테고리의 다른 글
  • [Web] 인증 방식
  • [Web] JWT (JSON Web Token)
  • [Web] Web Server와 WAS의 차이
  • [Web] REST API
dbssk
dbssk
dbssk
K.Back-end
dbssk
  • 분류 전체보기 (220)
    • 끄적 (0)
    • TIL (8)
      • Trouble Shooting (1)
    • Programmers (94)
      • Lv.0 (29)
      • Lv.1 (40)
      • Lv.2 (25)
    • 백준 (15)
    • 구름 (0)
    • Computer Science (79)
      • 컴퓨터 구조 (3)
      • Operating System (18)
      • 알고리즘 (9)
      • 자료구조 (11)
      • Database (10)
      • Network (8)
      • Web (12)
      • Design Pattern (8)
    • Spring (2)
    • Languages (13)
      • Java (13)
    • 북 스터디 (9)
      • 스프링 부트 핵심 가이드 (9)
      • 자바 코딩 인터뷰 완벽 가이드 (0)
    • 프론트엔드 (0)

인기 글

최근 글

태그

  • 해시
  • 백엔드공부
  • 코딩테스트
  • 프로그래머스
  • LV.2
  • 개발자취준
  • 백준
  • 백엔드스쿨
  • java
  • hash
  • 개발자이력서
  • LV.1
  • 스택
  • 개발자취업
  • stack
  • spring
  • 배열
  • Lv.0
  • 자료구조
  • 개발자포트폴리오
hELLO · Designed By 정상우.
dbssk
[Web] OAuth
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.