ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Web - OAuth란?
    Web/Web 2021. 10. 20. 20:46

    OAuth란?

    OAuth의 탄생 배경

    ㆍ 사용자는 처음 보는 애플리케이션에 아이디와 비밀번호를 제공하고 싶지 않아 한다.

    ㆍ 또한, 개인정보를 여러 곳에 입력하면서 피싱에 둔감해지고 무엇보다 애플리케이션이 안전하다는 보장이 없기 때문에 보안에 취약하다는 문제가 있다.

    ㆍ 보안의 문제와 더불어 당시에는 인증과 권한을 부여하는 요구를 만족시킬만한 인증방식이 없었다.

    ㆍ 위와 같은 배경으로 인해 Twitter의 주도로 OAuth 1.0이 탄생하게 된다.

     

    OAuth란?

    ㆍ OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹 사이트 상의 자신들의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여할 수 있는 개방형 표준 방법이다.

    ㆍ 이러한 메커니즘은 Google, Facebook, Twitter 등이 사용하고 있으며, 타사 웹 사이트 및 웹 사이트의 계정에 대한 정보를 공유할 수 있도록 허용해준다.


    OAuth의 동작 과정

    용어

    ㆍ 사용자(user) : 계정을 소유하고 있는 개인을 뜻한다.

    ㆍ 소비자(consumer) : OAuth를 사용하여 서비스 제공자에게 접근하는 웹 사이트 또는 애플리케이션이다.

    ㆍ 서비스 제공자(service provider) : OAuth를 통해 접근을 지원하는 웹 애플리케이션이다.

    ㆍ 소비자 비밀번호(consumer secret) : 서비스 제공자에게 소비자가 자신임을 인증하기 위한 키이다.

    ㆍ 요청 토큰(request token) : 소비자가 사용자에게 접근 권한을 인증받기 위해 필요한 정보가 담겨있으며, 후에 접근 토큰으로 변환된다.

    ㆍ 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값이다.

     

    인증 과정

    1. 소비자가 서비스 제공자에게 요청 토큰을 요청한다.

    2. 서비스 제공자가 소비자에게 요청 토큰을 발급해준다.

    3. 소비자가 사용자를 서비스 제공자로 이동시킨다. (이 과정에서 사용자 인증이 수행된다.)

    4. 서비스 제공자가 사용자를 소비자로 이동시킨다.

    5. 소비자가 접근 토큰을 요청한다.

    6. 서비스 제공자가 접근 토큰을 발급한다.

    7. 발급된 접근 토큰을 이용하여 소비자에서 사용자 정보에 접근한다.

     

    728x90

    'Web > Web' 카테고리의 다른 글

    Web - GET & POST  (0) 2021.12.15
    Web - Native App & Web App & Hybrid App  (0) 2021.10.21
    Web - Web Server & WAS  (0) 2021.10.20
    Web - JWT란?  (0) 2021.10.19
    Web - RSA 암호화  (0) 2021.10.19

    댓글

Designed by Tistory.