Web API 身份验证基本与承载

Web API Authentication Basic vs Bearer

我已经在我的 Web API 应用程序中创建了基于 JWT 的身份验证。 我无法弄清楚

之间的区别
  1. 基本代币
  2. 不记名令牌

有人可以帮我吗?

Basic 和 Digest 身份验证方案专用于使用用户名和密码进行身份验证(请参阅 RFC7616 and RFC7617)。

Bearer认证方案专用于使用token的认证,由RFC6750描述。即使此方案来自 OAuth2 规范,您仍然可以在客户端和服务器之间交换令牌的任何其他上下文中使用它。

关于JWT认证,由于是token,最好的选择是Bearer认证方案。 然而,没有什么能阻止您使用可以满足您要求的自定义方案。

基本身份验证 将凭据作为用户 ID/password 对传输,使用 base64 编码。客户端发送带有 Authorization header 的 HTTP 请求,其中包含单词 Basic 后跟一个 space 和一个 base64-encoded 字符串 username:password.

Authorization: Basic ZGVtbzpwQDU1dzByZA==

注意:对于基本身份验证,由于用户 ID 和密码以明文形式通过网络传递(它是 base64 编码,但 base64 是一种可逆编码),基本身份验证方案是不安全的。 HTTPS / TLS 应与基本身份验证结合使用。


不记名身份验证(也称为令牌身份验证)具有称为不记名令牌的安全令牌。 “Bearer authentication”这个名字可以理解为“give access to the bearer of this token”。不记名令牌是一个神秘的字符串,通常由服务器生成以响应登录请求。向受保护资源发出请求时,客户端必须在授权 header 中发送此令牌:

Authorization: Bearer < token >

注意:与基本身份验证类似,Bearer 身份验证只能在 HTTPS (SSL) 上使用

更多信息link1, link2