Bearer 인증 방식은 OAuth 2.0 프레임워크에서 사용하는 토큰 인증 방식이에요. “Bearer”은 소유자라는 뜻인데, “이 토큰의 소유자에게 권한을 부여해줘”라는 의미로 이름을 붙였다고 해요. 아래와 같이 Bearer
이라는 단어와 토큰을 API 인증 헤더에 입력해요. 더 자세한 내용은 RFC 6750에 정의되어 있어요.
Bearer 토큰은 OAuth 프레임워크에서 액세스 토큰으로 사용하는 토큰의 유형이에요.
Bearer 토큰은 불투명한(Opaque) 문자열일 수도 있고, JSON Web Token(JWT)일 수도 있습니다. 토큰의 형태는 인증 서버에서 정의합니다. 중요한 점은 Bearer 토큰이 클라이언트에 의해 해석되어도, 사용자의 정보를 안전하게 전달할 수 있어야 한다는 것입니다. Bearer 토큰에는 서버가 클라이언트의 권한을 확인할 수 있는 메타데이터가 포함되어 있어야 합니다. 또한, Bearer 토큰은 안전성을 보장하기 위해 충분히 복잡한 알고리즘을 사용하여 발급되어야 합니다.
Bearer 인증은 안전하고, 확장이 쉬워요. Bearer 토큰은 쉽게 복호화 할 수 없고 OAuth는 프레임워크의 인증 및 리소스 서버는 SSL/TLS를 필수로 사용해요. 게다가 서버에서 토큰의 리소스 접근 권한을 쉽게 철회할 수도 있고, 토큰의 유효기간을 설정할 수 있어서 안전하게 리소스를 보호할 수 있어요. OAuth 프레임워크는 또 제한적으로 리소스 접근을 정교하게 설정할 수 있어요.
Bearer 토큰 자체가 메타데이터를 가지고 있어서 서버는 토큰을 발급만 하고 보관할 필요가 없어요. 사용자가 아무리 많아도 토큰을 검증하는 과정은 같은 시간이 소요돼요. 게다가 여러 서비스 및 서버 간에 토큰을 공유할 수 있어서 사용자에게 편리한 경험을 제공해요.
하지만 Bearer 인증도 보안 측면에서 문제가 있어요. 만약 Bearer 토큰이 외부에 노출되면 다른 서비스도 토큰으로 바로 리소스를 접근할 수 있어요. 하지만 서버가 OAuth 프레임워크에 정의된 보안 장치를 잘 구축하면 문제가 없고, 노출이 발견되면 해당 토큰의 권한을 철회할 수 있어요.
토스페이먼츠 브랜드페이 서비스는 Bearer 인증을 사용해요. 브랜드페이는 상점만의 자체 간편결제를 만들 수 있는 서비스인데요. 특정 고객의 정보를 불러오는 API를 사용할 때 Bearer 인증 방식과 Access Token을 사용해요. 더 자세한 정보는 브랜드페이 인증하기에서 확인하세요.