OAuth 2.0 이란 ?

외부 어플리케이션에서 HTTP 서비스에 제한된 접근을 할 수 있도록 권한을 부여하는 프레임워크.



OAuth의 4가지 역활

자원서버 , 권한서버 , 자원 소유자 , 클라이언트



용어 및 특징 비교 ( OAuth 1.0 vs OAuth 2.0)

 용어 

 1.0 

 2.0 

 사용자 

 User 

 Resource Owner 

 클라이언트 

 Consumer 

 Client 

 API 서버 

 Service Provider

 Resource Server

 권한 

 Authorization Server


구분 

1.0 

2.0 

HTTPS 

선택 

필수 

구현 복잡도 

복잡 

비교적 간단 

보안산 안전한 환경 

Server-Side 

다양한 환경 지원 



OAuth 2.0 Protocol


Authorization Grant

1. 클라이언트가 자원 소유자에게 권한을 달라고 요청

2. 자원 소유자가 클라이언트에게 권한 위임 허가

3. 클라이언트는 권한 서버에게 자원 소유자가 허가했다고 알림

4. 권한 서버는 정말 사용자가 허가한게 맞는지 확인 후 Access Token을 클라이언트에게 발급

Authorization Grant Type

1. Authorization Code Grant

권한 코드를 이용한 허가 방식

장기 접근시 사용 ( Access Token 만료시, Refresh Token으로 갱신)

기밀 클라이언트일 때 사용

Authorization 요청

    • response_type : "code" 여야함
    • client_id : 클라이언트 식별자
    • redirect_uri : 응답시 redirect 될 uri
    • scope : 접근 요청 범위
    • grant_type : "authorization_code" 여야함

Authorization Token 응답

    • access_token : 필수 . 권한 서버가 생성한 권한 코드
    • expires_in : 만료시간(초)
    • refresh_token : 갱신토큰

Access Token 

    • ID , PW 를 대신하여 자원에 접근하기 위한 값
    • 접근된 접근 권한만 가짐.
    • 만료 시간 존재

Refresh Token

    • Access Token을 얻는데 사용되는 인증서
    • Access Token이 발행될 때 같이 얻을 수 있음.
    • Access Token이 무효화되거나 만료될 때 사용
    • 유출에 주의해야함


2. Implicit Grant

    나중에..

3. Resource Owner Password Credentials Grant

4. Client Credentials Grant




'웹 개발' 카테고리의 다른 글

JSTL (작성중)  (0) 2018.05.04
jsonp  (0) 2017.02.09
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26

+ Recent posts