written by kaspyx ([email protected])
시작하며
앞절에서는 #OAuth2.0의 기본 개념에대해 설명했습니다. 이번에는 OAuth2.0이 어떻게 작동하는지에대해 개략적으로 알아보겠습니다.
OAuth2.0 없이 쇼핑몰 사이트 로그인하기
우선shopping.com에서 facebook 로그인 기능을 OAuth2.0 없이 작동하는 과정을 설명해보도록 하겠습니다.
위에 그림에서 보는것처럼 사용자(user)는 facebook 로그인 정보를 shopping.com 앱에 전했고 그정보를 통해 shopping.com 앱에서는 facebook에게 조회를 하여 인증을 받는 방식입니다.
그럼 위의 방식에서 발생하는 문제는 무엇일까요?
- 사용자는 shopping.com 에게 facebook 로그인 자체 정보를 주므로써 모든권한을 넘기게 되었습니다. 넘겨준 정보가 만약 악성 앱이라면 돌이킬수 없는 문제가 발생할수 있죠.
- shopping.com에서 사용자에게 받은 비밀번호를 안전하게 보관하고 있다는 보장이없습니다. 비밀번호를 저장할때는 사용자 말고는 알수없는 해쉬 형태로 저장해야하는데 만약 shopping.com 앱이 해킹이라도 당하게되면 추가 개인정보 탈취 문제가 발생할수 있습니다.
- 비밀번호를 자주 전달함으로써 탈취의 위험성이 높아집니다. 인터넷을 통해 사용자의 비밀번호를 자주 보낼수록 그만큼 위험도도 증가하게됩니다.
- shopping.com 앱이 해킹이라도 당하게 된다면 비밀번호 수정 이외에는 shopping.com에게 권한을 회수할수 있는 방법이 없습니다.
- 접근 권한 제어나 취소를 할수없습니다. shopping.com이 자신의 어디까지의 정보를 조회하거나 하는 제어가없고, 준 권한을 취소할수도 없죠.
OAuth2.0으로 facebook 로그인 하기
다음으로는 OAuth2.0으로 shopping.com앱에 facebook 로그인하는 과정을 설명해 보겠습니다.
OAuth2.0을 사용하면서 위에서 말한 문제점이 모두 해결되었습니다.
- 사용자는 shopping.com에게 facebook 로그인 정보를 주지않고 facebook을 통해 로그인함
- facebook에서는 비밀번호를 안전하게 보관하고있습니다. 한곳에서만 관리하니 위험성도 더 적게됩니다.
- 비밀번호는 facebook에게만 전달했으니 더 적게 보낼수있습니다.
- shopping.com이 해킹을 당하게되도 facebook에서는 이정보를 관리하고있으니 권한을 회수함으로써 이러한 문제점을 해결할수있다.
이상으로 2번에 걸쳐 OAuth2.0에대한 기본개념을 알아보았습니다.
다음 장에는 OAuth2.0이 작동하는 절차에대해 조금더 자세히 다루어보도록하겠습니다.
참조
OAuth2.0 마스터 (에이콘 출판사)
God post hi I m @sameershaikh i folow you folow back