您好,我正在研究如何使用 JWT 和 axios。我想知道您是否可以向我解释添加“承载者”有什么意义,我是否应该使用“授权”或“x-access-token”名称?
Axios.get(`http://localhost:3001/posts`, {
headers: { 'Authorization': `bearer ${token}` }
}).then((response) => {
console.log(response)
});
答案 0 :(得分:0)
如果我需要用非常简单的词来解释 JWT 令牌,那么我会这样说:
<块引用>访问令牌用于基于令牌的身份验证以允许访问 API。访问令牌在用户成功验证和授权后收到。
关于授权令牌:
要设置授权标头,请像这样调用:
headers: { 'Authorization': `bearer ${token}`
现在承载令牌基本上是指令牌类型,在这种情况下是承载类型,阅读更多here
所提供链接的摘要是这样的:
<块引用>本规范描述了如何在 HTTP 中使用不记名令牌 请求访问受 OAuth 2.0 保护的资源。任何一方在 持有不记名令牌(“持有者”)可以使用它来访问 相关资源(无需证明拥有 加密密钥)。为防止滥用,不记名令牌需要 防止在存储和运输过程中泄露。
现在让我们来看看Authorization
vs x-access-token
授权:
<块引用>HTTP 授权请求标头包含向服务器验证用户代理的凭据,通常但不一定是在服务器以 401 未授权状态和 WWW-Authenticate 标头响应之后。
详细了解 Authorization
here
X-Access-Token:
在“x-auth-token”的情况下,用户第一次必须提供用户名/密码,服务器在头字段“x-auth-token”中返回一个访问令牌。对于后续会话,将交换此令牌,而不是用户名/密码。
现在是结论。您将使用您的项目真正需要的任何示例,如果您正在处理一个可能会使用大量用户的应用程序,您将必须实现尽可能多的安全性,这意味着使用 JWT 令牌和其他安全步骤。
另一方面,如果您的应用程序只需要一个管理员登录来输入一些数据,并且您有一个非常小的窗口,那么您可能想要使用基于会话的登录。