[basic-authentication] 웹 API 인증 기본 vs 베어러

내 웹 API 애플리케이션에서 JWT 기반 인증을 생성했습니다. 나는 차이점을 이해할 수 없다.

  1. 기본 토큰
  2. 무기명 토큰

누군가 나를 도울 수 있습니까?



답변

기본 및 다이제스트 인증 체계는 사용자 이름과 암호를 사용하는 인증 전용입니다 ( RFC7616RFC7617 참조 ).

Bearer 인증 체계는 토큰을 사용하는 인증 전용이며 RFC6750에서 설명합니다 . 이 스키마가 OAuth2 사양에서 나온 경우에도 클라이언트와 서버간에 토큰이 교환되는 다른 모든 컨텍스트에서 사용할 수 있습니다.

JWT 인증과 관련하여 토큰이므로 가장 좋은 선택은 Bearer 인증 체계입니다. 그럼에도 불구하고 요구 사항에 맞는 사용자 지정 체계를 사용하는 데 방해가되는 것은 없습니다.


답변

기본 인증 은 자격 증명을 base64를 사용하여 인코딩 된 사용자 ID / 암호 쌍으로 전송합니다. 클라이언트는AuthorizationwordBasicword 다음에 공백과base64-encoded문자열 username : password가 포함된헤더와 함께 HTTP 요청을 보냅니다.

인증 : 기본 ZGVtbzpwQDU1dzByZA ==

여기에 이미지 설명 입력
참고 : 기본 인증의 경우 사용자 ID 및 암호가 일반 텍스트로 네트워크를 통해 전달되므로 (base64로 인코딩되지만 base64는 가역적 인코딩) 기본 인증 체계가 안전하지 않습니다. HTTPS / TLS는 기본 인증과 함께 사용해야합니다.


전달자 인증 ( 토큰 인증 이라고도 함)에는 전달자 토큰이라는 보안 토큰이 있습니다. “보유자 인증”이라는 이름은 “ 이 토큰의 보유자에게 액세스 권한 부여 “로 이해 될 수 있습니다. 베어러 토큰은 일반적으로 로그인 요청에 대한 응답으로 서버에서 생성되는 암호화 된 문자열입니다. 클라이언트는 보호 된 리소스에 요청할 때 Authorization 헤더에이 토큰을 보내야합니다.

승인 : Bearer <토큰>

여기에 이미지 설명 입력

참고 : 기본 인증과 마찬가지로 Bearer 인증 은 HTTPS (SSL)를 통해서만 사용해야합니다 .

자세한 내용은 link1 , link2


답변