[컴][웹] OAuth 2.0




OAuth 2.0 의 인증방식 4가지

ref. 2 에 따르면 OAuth 2.0 이 제공하는 4가지 방법중에 open API 에서는 아래 2가지가 쓰인다고 한다. 이유는 아래 2가지는 3개의 주체로 이루어진 인증인데(3-legged OAuth), 다른 2가지는 2개의 주체로 이뤄져 있어서 라고 한다.(2-legged)
  1. Authorization Code Grant :  자신만의 백엔드 서버를 갖고 동작하는 앱일 경우[ref. 4]
  2. Implicit Grant : 백엔드 서버 없이 순수 클라이언트 사이드에서만 동작하는 앱일 경우 사용[ref. 4]

아래 2개의 인증방식은 id/pw 가 노출될 위험이 있어서 인증된 client에만 사용되어야 한다고 한다.[ref. 1, 2]
  1. Password Credentials Grant
  2. Client Credentials Grant


비교적 안전하게 사용하는 방법

ref. 2 에서는 안전하게 OAuth 2.0 을 사용하는 방법을 이야기한다. 정리하면
  • Authorization Code Grant 또는 Implicit Grant 를 사용
  • access token 으로 Bearer token 을 사용
  • HTTPS 를 이용
가장 많이 사용되는 Grant type인 Authorization Code 방식이나 Implicit 방식을 사용하고 access token으로서는 Bearer 토큰을 사용하며 HTTPS를 통해서 서비스하고 널리 사용되는 라이브러리들을 사용해서 구현한다면 OAuth 2.0은 안전하다고 할 수 있다. 

Authorization Code Grant 와 Implicit Grant 의 자세한 설명은 ref. 1 을 통해 확인할 수 있다.


Sequence Diagram

ref5 에서 sequence diagram 을 확인할 수 있다.


Reference

  1. Joinc: OAuth2.0 소개
  2. OAuth 2.0 - Open API 인증을 위한 만능 도구상자 - tebica story
  3. 안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API > 12 page
  4. oauth2-restapi-server: 모바일 앱을 OAuth2.0으로 좀 더 안전하게! | Vine Brancho
  5. https://www.soapui.org/oauth2/oauth2-overview.html


댓글 없음:

댓글 쓰기