[Oauth] Oauth2.0의 4가지 인증 방식

oauth2.0 이해 및 구현 - 2

Posted by owin2828 on 2020-03-11 16:30 · 2 mins read

들어가기 앞서

지난 글에서 oauth2.0의 기초 및 구성에 대하여 알아보았다. 이번 글에서는 실제로 다음과 같은 oauth2.0의 인증 방식에 대하여 알아볼 예정이다.

  1. Authorization Code Grant Type
  2. Implicit Grant Type
  3. Resource Owner Password Credentials Grant Type
  4. Client Credentials Grant Type

1. Authorization Code Grant Type


Authorization Code Grant Type 방식

  1. 클라이언트는 리소스 주인이 권한 서버에게 Client ID, Redirect URI, Response_type을 code로 지정하여 전달하도록 유도
    인증이 된다면 code값을 돌려 받음
  2. 클라이언트는 전달 받은 code를 사용해 필요한 정보들과 함께 access token 획득 요청을 권한서버에게 보냄
  3. 획득한 access token을 사용해 리소스 서버에 사용자의 데이터를 요청

2. Implicit Grant


Implicit Grant 방식

  1. 클라이언트는 리소스 주인이 권한 서버에게 Client ID, Redirect URI, Response_type을 code로 지정하여 전달하도록 유도
    인증이 된다면 token을 돌려 받음
  2. 획득한 access token이 유요한지 검증
  3. 검증에 대한 응답을 돌려줌
  4. 획득한 access token을 사용해 리소스 서버에 사용자의 데이터를 요청

3. Resource Owner Password Credentials Grant


Resource Owner Password Credentials Grant 방식

  1. 리소스 주인이 인증을 진행, 대부분 ID/PW로 자격증명을 수행
  2. 클라이언트는 전달 받은 정보를 기반으로 권한 서버에 access token 획득 요청
  3. Access token을 돌려줌
  4. 획득한 access token을 사용해 리소스 서버에 사용자의 데이터를 요청

4. Client Credentials Grant Type 방식


Client Credentials Grant Type 방식

  1. 리소스 주인이 access token 정보를 직접 권한 서버에 요청
  2. Access token을 돌려줌
  3. 획득한 access token을 사용해 리소스 서버에 사용자의 데이터를 요청

끝마치며

Oauth2.0의 인증 방식에 대하여 간략하게 알아보았다. 다음 포스팅에서는 각 방식을 직접 구현할 예정이다.