개요: 고객사에 넘겨줄 api 명세서를 보며, stringBearer 형태의 access token 이 왜 사용되는지 궁금해서 찾아봄
Bearer 인증이란?
OAuth 2.0 프레임워크에서 사용하는 토큰 인증 방식이다.
Bearer 토큰이란?
OAuth 프레임워크에서 엑세스 토큰으로 사용하는 토큰의 유형.
Bearer 토큰은 인증 서버에서 정의 하기 나름이지만, 16진수 문자열 또는 jwt(json web token)을 사용하기도 한다.
Bearer 토큰은 클라이언트가 해석할 수 없는 형태이고, 사용자 정보를 전달하면 안된다. 대신, 서버에서 클라이언트의 권한을 확인할 수있는 메타데이터가 토큰에 인코딩되어 있어야 한다
Bearer 인증을 이용하는 이유?(장점)
1. 안전하고 확장이 쉽다.
- Bearer 토큰은 쉽게 복호화 할 수 없고, OAuth는 프레임워크의 인증 및 리소스 서버 TLS를 필수로 사용함
- 서버에서 토큰의 리소스 접근 권한을 쉽게 철회할 수 있고, 토큰 유효기간을 설정할 수 있어 안전하게 리소스를 보호 가능
- OAuth 프레임워크는 리소스 접근을 정교하게 설정하여 접근에 제한을 둘 수 있음.
2. 서버는 토큰을 발급만 하고 보관할 필요가 없다.
- Bearer 토큰 자체가 메타데이터를 지니기 때문에, 보관할 필요x
- 사용자가 많아도 토큰을 이용하여 검증하는 과정은 동일한 시간이 소요됨.
- 여러 서비스 및 서버 간에 토큰을 공유할 수 있어서 사용자에게 편리한 경험을 제공.
Bearer 인증의 단점
1. 보안적인 측면의 문제
- Bearer 토큰이 외부에 노출되면 다른 서비스도 토큰으로 바로 리소스에 접근 가능.
- But, 노출이 발견되면 토큰의 권한을 철회할 수 있긴함.
추가적으로, OAuth 2.0 프레임워크 와 TLS에 대해서 좀 더 적겠음
'CS' 카테고리의 다른 글
TLS (0) | 2024.05.22 |
---|---|
OAuth 2.0 프레임워크 (0) | 2024.05.22 |
로컬환경에서 더 많은 메모리를 할당할 수 있는 이유 (0) | 2024.04.22 |
POST 요청을 보낼 때 Authorization을 헤더에 넣는 이유 (0) | 2024.02.13 |
얕게 생각하고 경험에 바탕하는 객체지향(내 주관) (1) | 2024.01.28 |
댓글