OAuth: 두 판 사이의 차이

IT 위키
편집 요약 없음
30번째 줄: 30번째 줄:


== 인증 절차 ==
== 인증 절차 ==
* 권한 부여 코드 승인
=== 권한 부여 코드 승인 ===
[[파일:Authorization Code Grant Type.png]]
[[파일:Authorization Code Grant Type.png]]


* 암시적 승인
=== 암시적 승인 ===
[[파일:Implicit Grant Type.png]]
[[파일:Implicit Grant Type.png]]


* 리소스 소유자 암호 자격 증명
=== 리소스 소유자 암호 자격 증명 ===
[[파일:Resource Owner Password Credentials Grant.png]]
[[파일:Resource Owner Password Credentials Grant.png]]


* 클라이언트 자격 증명
=== 클라이언트 자격 증명 ===
[[파일:Client Credentials Grant Type.png]]
[[파일:Client Credentials Grant Type.png]]



2020년 9월 21일 (월) 13:32 판

제3의 신뢰 서비스에서 인증 결과를 토큰 기반으로 공유받아 활용하는 개방형 표준 프로토콜

1 프토토콜 종류

종류 설명
권한 부여 코드 승인

(Authorization Code Grant Type)

  • 클라이언트가 다른 사용자 대신 특정 리소스에 접근을 요청할 때 사용
  • 리스소 접근을 위한 사용자 명과 비밀번호, 권한 서버에 요청해서 받은 권한 코드를 함께 활용하여 리소스에 대한 엑세스 토큰을 받는 방식
암시적 승인

(Implicit Grant Type)

  • 권한 부여 코드 승인 타입과 다르게 권한 코드 교환 단계 없이 엑세스 토큰을 즉시 반환받아 이를 인증에 이용하는 방식
리소스 소유자 암호 자격 증명

(Resource Owner Password Credentials Grant Type)

  • 클라이언트가 암호를 사용하여 엑세스 토큰에 대한 사용자의 자격 증명을 교환하는 방식
클라이언트 자격 증명

(Client Credentials Grant Type)

  • 클라이언트가 컨텍스트 외부에서 액세스 토큰을 얻어 특정 리소스에 접근을 요청할 때 사용하는 방식

2 인증 절차

2.1 권한 부여 코드 승인

Authorization Code Grant Type.png

2.2 암시적 승인

Implicit Grant Type.png

2.3 리소스 소유자 암호 자격 증명

Resource Owner Password Credentials Grant.png

2.4 클라이언트 자격 증명

Client Credentials Grant Type.png

3 구성

구분 설명 비고
자원 소유자 요청하고자 하는 자원의 소유자이자, 인증 주체 이용자
클라이언트 자원을 필요로 하는 서비스

자원 소유자의 권한으로 권한 서버에서 인증을 받아 자원 서버에 자원 요청

쇼핑몰 등
권한 서버 인증을 처리하고 권한을 부여하는 서버 페이스북

네이버 구글 등

자원 서버 자원을 가지고 있는 서버
접근 토큰 자원 서버에 자원을 요청할 수 있는 토큰 유효기간 존재
재발급 토큰 권한 서버에 접근 토큰을 요청할 수 있는 토큰 접근 토큰 유효기간 만료 시 사용

4 OAuth1.0과 OAuth2.0의 차이

비교 OAuth1.0 OAuth2.0
참여자 구분
  • 이용자
  • 소비자
  • 서비스 제공자
  • 자원 소유자
  • 클라이언트
  • 권한 서버
  • 자원 서버
토큰
  • 요청 토큰(Request Token)
  • 접근 토큰(Access Token)
  • 접근 토큰(Access Token)
  • 재발급 토큰(Refresh Token)
유효기간
  • 접근 토큰의 유효기간 없음
  • 접근 토큰 유효기간 부여
  • 만료 시 재발급 토큰 이용
클라이언트
  • 웹 서비스
  • 웹, 앱 등

5 문제점

  • 신뢰된 서비스(권한 서버, 자원 서버)에 개인의 행태 정보가 지나치게 축적되는 문제
    • 국가 기관이 아닌 신뢰된 서비스가 과연 신뢰할 수 있는가?