OAuth 2.0

devhong·2023년 1월 25일
0
post-thumbnail

OAtuh (Open Authorization)

  • 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.
  • 간편 로그인 기능이 OAuth 2.0 프로토콜 기반의 사용자 인증 기능을 의미한다.
  • 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜
  • OAuth 2.0은 1.0에서 알려진 보안 문제 등을 개선한 버전

OAuth 용어

  • Client
    • 어플리케이션 서비스 주체
  • Resource Owner
    • 어플리케이션 서비스를 이용하는 사용자
  • Resource Server
    • Google, Facebook 등 접근을 지원하는 제공자

OAuth 인증 방식 (페이코의 OAuth 2.0)

OAuth 장점

  • 인증을 공유하는 어플리케이션끼리 별도의 인증이 필요 없이 여러 어플리케이션을 통합하여 사용할 수 있다.
  • 사용자는 어플리케이션 서비스에 ID, PWD 를 입력하지 않아도 되며, 서비스 주체 또한 사용자의 ID, PWD 를 보관하지 않아도 된다.

주의사항

  • OAuth 를 통해 Token 을 발급하기 위한 Redirect URI 가 제대로 검증되지 않으면 Token 이 탈취될 수 있다.
  • Query string 을 통해 중요한 정보는 전달하지 않아야 한다. (access token, client secret 등)
  • scope 가 명시되어야 하며 불필요한 권한을 제공해서는 안된다.
  • Token 을 안전하게 보관할 수 있어야 한다.

Refresh Token

  • Access Token 이 탈취 당하면 보안에 취약하므로 유효 기간을 짧게 가져가야 한다.
  • Aceess Token 이 유효기간이 짧아지면 Resource Owner, 즉 사용자는 로그인을 자주 해서 Token 을 새롭게 발급받아야 한다.
  • 로그인을 자주한다는 것은 사용자 측면에서 불편하므로 Refresh Token 이 등장한다.
  • Refresh Token 은 Access Token 보다 유효기간이 길고 만료된 Access Token 인 경우, Refresh Token 을 보내 새로운 Access Token 을 발급받아 사용자가 자주 로그인하는 부분을 방지할 수 있다.

Reference

profile
당신을 한 줄로 소개해보세요.

0개의 댓글