목차

< 용어사전으로 돌아가기

API 대표이미지

Bearer 인증 방식은 OAuth 2.0 프레임워크에서 사용하는 토큰 인증 방식이에요. “Bearer”은 소유자라는 뜻인데, “이 토큰의 소유자에게 권한을 부여해줘”라는 의미로 이름을 붙였다고 해요. Bearer와 토큰을 인증 헤더에 입력해요. 더 자세한 내용은 RFC 6750에 정의되어 있어요.

Authorization: Bearer <token>

👉 Basic 인증과 Bearer 인증의 모든 것

OAuth 2.0 프레임워크

OAuth 2.0 프레임워크

요즘은 회원가입을 하지 않아도 구글과 같은 소셜 계정으로 바로 이용할 수 있는 편리한 서비스가 많죠. 구글에서 내 데이터의 일부를 제 3자의 서비스와 공유하는 거에요. 이렇게 다양한 서비스 또는 서버 사이에 안전하게 데이터를 전송하기 위해 OAuth 프레임워크가 탄생했어요. OAuth는 제 3자의 클라이언트에게 보호된 리소스를 제한적으로 접근하게 해주는 프레임워크에요.

OAuth 프레임워크에는 리소스 소유자, 클라이언트, 인증 서버, 리소스 서버가 있어요.

  • 리소스 소유자: 사용자
  • 클라이언트: 사용자의 정보를 접근하는 제 3자의 서비스
  • 인증 서버: 클라이언트의 접근을 관리하는 서버
  • 리소스 서버: 리소스 소유자의 데이터를 관리하는 서버
  • 리소스 소유자의 동의가 확인되면 인증 서버는 클라이언트에게 액세스 토큰을 발급해줘요. 클라이언트는 액세스 토큰을 사용해서 리소스 서버에 보호된 데이터를 불러와요.

    Bearer 토큰

    Bearer 토큰은 OAuth 프레임워크에서 액세스 토큰으로 사용하는 토큰의 유형이에요.

    Bearer 토큰은 불투명한(Opaque) 문자열이에요. 토큰의 형태는 인증 서버에서 정의하기 나름인데, 16진수의 문자열을 사용하기도 하고 JSON Web Token(JWT)을 사용하기도 해요. 중요한건 Bearer 토큰은 클라이언트가 해석할 수 없는 형태여야 하고, 사용자의 정보를 전달하면 안 돼요. 대신 서버에서 클라이언트의 권한을 확인할 수 있는 메타데이터가 토큰에 인코딩되어 있어야 해요. 충분히 복잡한 알고리즘을 사용해서 발급해야 돼요.

    Bearer 인증의 장점 및 단점

    Bearer 인증은 안전하고, 확장이 쉬워요. Bearer 토큰은 쉽게 복호화 할 수 없고 OAuth는 프레임워크의 인증 및 리소스 서버는 SSL/TLS를 필수로 사용해요. 게다가 서버에서 토큰의 리소스 접근 권한을 쉽게 철회할 수도 있고, 토큰의 유효기간을 설정할 수 있어서 안전하게 리소스를 보호할 수 있어요. OAuth 프레임워크는 또 제한적으로 리소스 접근을 정교하게 설정할 수 있어요.

    Bearer 토큰 자체가 메타데이터를 가지고 있어서 서버는 토큰을 발급만 하고 보관할 필요가 없어요. 사용자가 아무리 많아도 토큰을 검증하는 과정은 같은 시간이 소요돼요. 게다가 여러 서비스 및 서버 간에 토큰을 공유할 수 있어서 사용자에게 편리한 경험을 제공해요.

    하지만 Bearer 인증도 보안 측면에서 문제가 있어요. 만약 Bearer 토큰이 외부에 노출되면 다른 서비스도 토큰으로 바로 리소스를 접근할 수 있어요. 하지만 서버가 OAuth 프레임워크에 정의된 보안 장치를 잘 구축하면 문제가 없고, 노출이 발견되면 해당 토큰의 권한을 철회할 수 있어요.

    토스페이먼츠 Bearer 인증

    토스페이먼츠 브랜드페이 서비스는 Bearer 인증을 사용해요. 브랜드페이는 상점만의 자체 간편결제를 만들 수 있는 서비스인데요. 특정 고객의 정보를 불러오는 API를 사용할 때 Bearer 인증 방식과 Access Token을 사용해요. 더 자세한 정보는 브랜드페이 인증하기에서 확인하세요.

    Authorization: Bearer {ACCESS_TOKEN}
    • 더 궁금한 내용이 있나요?
    • 코드 샘플을 참고하세요
    • 기술지원이 필요한가요?
      디스코드 채팅|이메일 보내기