본문 바로가기
  • AI (Artificial Intelligence)
Fundamental/Technical

OAuth 2.0에 대한 가장 간단한 가이드

by 로샤스 2021. 4. 27.

Ref. ichi.pro/ko/oauth-2-0e-daehan-gajang-gandanhan-gaideu-154420140185019

정말 좋은 접근법입니다. 아래 글을 읽어보시면 좀 더 이해 쉽게 할 수 있습니다.

지난 3 년 동안 저는 기술적 인 배경이없는 사람들, 주로 Authlete, Inc. 의 공동 창립자 인 투자자들에게 OAuth 2.0을 설명했습니다 . (Tech In Asia : " API 보안 스타트 업 Authlete가 $ 1.2를 모금했습니다 m 종자 자금 " ).

그 결과 OAuth 2.0을 이해하기 쉽게 설명 할 수있는 방법을 찾았습니다.

이 기사에서는 단계를 소개합니다.

1. 사용자의 데이터가 있습니다.

2. 사용자의 데이터를 관리하는 서버가 있습니다. 서버를 "리소스 서버"라고합니다.

3. 사용자의 데이터를 사용하고자하는 "클라이언트 애플리케이션"이 있습니다.

4. 사용자의 데이터가 통과 할 수있는 게이트를 준비합시다. 게이트는 "API"라고합니다.

5. 클라이언트 응용 프로그램이 사용자 데이터를 요청합니다.

6. 리소스 서버가 사용자 데이터를 반환합니다.

7. 악성 클라이언트 애플리케이션이 있으면 어떻게합니까?

8. 사용자의 데이터를 요청하는 클라이언트 애플리케이션이 악성 애플리케이션이라도 ...

9. ... 리소스 서버가 사용자 데이터를 반환합니다.

10. 악성 애플리케이션조차도 사용자의 데이터를 얻을 수 있습니다.

11. 사용자의 데이터를 보호하기위한 메커니즘이 필요합니다.

12. 모범 사례에서는 "액세스 토큰"이 클라이언트 응용 프로그램에 미리 제공됩니다. 액세스 토큰은 해당 클라이언트 응용 프로그램에 사용자 데이터에 대한 액세스 권한이 부여되었음을 나타냅니다.

13. 클라이언트 응용 프로그램은 사용자 데이터를 요청할 때 액세스 토큰을 제공합니다.

14. 리소스 서버는 요청에 포함 된 액세스 토큰을 추출합니다.

15. ... 액세스 토큰이 클라이언트 애플리케이션에 사용자 데이터에 액세스 할 수있는 권한이 있음을 나타내는 지 확인합니다.

16. 확인 후 리소스 서버는 사용자 데이터를 반환합니다.

17.이 메커니즘이 작동하도록하려면 클라이언트 응용 프로그램에 미리 액세스 토큰을 제공해야합니다.

18. 결과적으로 액세스 토큰을 발행하는 사람이 필요합니다.

19. 액세스 토큰을 발행하는 사람 ...

20. ...는 "Authorization Server"라고합니다.

21. 클라이언트 애플리케이션과 권한 서버의 관계는 다음과 같습니다.

22. 권한 부여 서버가 액세스 토큰을 생성합니다 ...

23. ... 클라이언트 응용 프로그램에 액세스 토큰을 발급합니다.

24. 지금까지 배운 것을 복습 해 봅시다. 문자는 "권한 부여 서버", "클라이언트 응용 프로그램"및 "자원 서버"입니다.

25. 인증 서버가 액세스 토큰을 생성합니다 ...

26. ... 클라이언트 애플리케이션에 액세스 토큰을 발행합니다.

27. 클라이언트 응용 프로그램이 액세스 토큰을 사용하여 사용자의 데이터를 요청합니다.

28. 리소스 서버는 요청에서 액세스 토큰을 추출합니다.

29. ... 액세스 토큰에 사용자 데이터에 대한 액세스 권한이 있는지 확인합니다.

30. ... 그리고 사용자의 데이터를 클라이언트 응용 프로그램에 반환합니다.

31. 위의 흐름에서 첫 번째 단계는 권한 부여 서버에 의한 액세스 토큰 생성입니다. 그러나 실제 흐름에서는 액세스 토큰이 발급되기 전에 사용자에게 요청됩니다.

32. 먼저 클라이언트 응용 프로그램이 액세스 토큰을 요청합니다.

33. 그런 다음 권한 부여 서버는 요청 된 권한을 클라이언트 응용 프로그램에 부여할지 여부를 사용자에게 묻습니다.

34. 사용자가 권한 부여 서버가 클라이언트 애플리케이션에 액세스 토큰을 발급하도록 허용하는 경우 ...

35. ... 인증 서버가 액세스 토큰을 생성합니다 ...

36. ... 클라이언트 응용 프로그램에 액세스 토큰을 발급합니다.

37. 그런데 노란색 타원으로 둘러싸인 부분에 주목하세요.

38.이 부분은 액세스 토큰 요청과 요청에 대한 응답을 나타냅니다.

39. 그리고 부분을 표준화 한 것은 "OAuth 2.0"입니다. OAuth 2.0에 대한 자세한 내용은 기술 문서 RFC 6749 (The OAuth 2.0 Authorization Framework)에 설명되어 있습니다.

 

댓글