23-06-19 TIL

more·2023년 6월 19일
0

문제

  • JWT를 배우는데 Bearer 라는 prefix를 사용한다. 헌데 왜 사용하는지, 무슨 역할인지 모르겠다.

시도

  • 고민을 하다가 뭔가 password 앞에 붙여 주는 것으로 보니 type과 관련된 것이라는 생각이 들어서 구글링을 해보니 토큰에서의 타입이라고 한다.
Authorization: <type> <credentials>
credentials에 token이 들어가고 type에 bearer과 같은 타입이 들어간다.
  • 그러면 bearer 말고 다른 타입도 있다는 건데.. 무엇이 있으며 각각의 의미는 무엇일까?

해결

  • Basic
    - 사용자 아이디와 암호를 Base64로 인코딩한 값을 토큰으로 사용한다. (RFC 7617)

  • Bearer
    - JWT 혹은 OAuth에 대한 토큰을 사용한다. (RFC 6750)

  • Digest
    - 서버에서 난수 데이터 문자열을 클라이언트에 보낸다. 클라이언트는 사용자 정보와 nonce를 포함하는 해시값을 사용하여 응답한다 (RFC 7616)

  • HOBA
    - 전자 서명 기반 인증 (RFC 7486)

  • Mutual0
    - 암호를 이용한 클라이언트-서버 상호 인증 (draft-ietf-httpauth-mutual)

  • AWS4-HMAC-SHA256
    - AWS 전자 서명 기반 인증 (링크)

알게 된 점

  • 토큰은 그냥 input값을 기준으로 랜덤한 의미없는 문자열을 만들어내는 것이라고 생각했는데, 생각보다 체계화 되어있고 여러가지 버전(?) 들이 있었다.

0개의 댓글