Oauth 2.0 동작 매커니즘

Sol's·2023년 3월 1일
0

팀프로젝트

목록 보기
10/25

Oauth 2.0의 매커니즘을 이해하려면 우선 용어부터 정리해야합니다.

  1. Client : 우리가 만든 서비스
  2. Resource Owner : Resourece Server의 주인
  3. Resource Server : 타 플랫폼

클라이언트가 할 일

클라이언트가 할 일은 크게 2가지가 있습니다.

  1. Resource Server에 서비스 사용을 요청해야합니다.
  2. Resource Owner에게 owner의 Resource Server 정보를 접근승인 요청을 받아야 합니다.

Resource Server에 서비스 사용 요청

Client는 Resource Server에 당신네 서비스를 사용할거야! 라고 등록을 해야 합니다.

그럼 Resource Server는 client Id와 client secret을 Client에게 발급해줍니다.

  • client secret은 절대 노출되면 안됩니다.

이제 Client는 client Id와 client secret를 가지고 Resource Server에 접근 할 수 있습니다.

Resource Owner에게 접근 승인 요청


1. 로그인이 안되어 있으면 로그인 요청을 하게 하고

  1. Client에게 Resource Server 접근 허용을 할 것인지 물어봅니다.

접근이 허용되고 난 후 로직

접근 승인을 하게되면 Resource Server가 Client에게 정보를 주게됩니다.
이 정보를 Code라고 부릅니다.
Client는 Code를 통해 Resource Server에 접근해 Resource Owner의 정보를 사용 할 수 있습니다.

하지만 아직 끝난게 아닙니다.
Oauth가 복잡한 이유는 2번에 걸쳐 검증을 하기 때문입니다.

2차 검증

Client는 Resource Server로부터 Code를 받게되면
Code, CilentId, Cilent Sercret과 함께 다시 Resource Server에게 정보를 달라고 요청합니다.

이때 Resource Server는 Client로부터 받은 Code, CilentId, Cilent Sercret갖고
요청을 한 Client가 Resource Owner가 승인한 Client인지 확인합니다.

즉 Code는 정보를 주는게 아닌 해당 정보를 볼 수 있는 키를 준것입니다.

위 과정이 모두 일치한다면 Resource Server는 Access Token을 Client에게 넘겨줍니다.
Client는 Access Token을 이용해 Resource Server에 접속 할 수 있습니다.

마무리

Oauth의 원리를 알아보았습니다.
실제로 복잡한 과정이기에 더 깊게 공부를 해봐야 할 것 같습니다.

profile
배우고, 생각하고, 행동해라

0개의 댓글