任何API调用都需要使用有效的JWT令牌进行身份验证。如果JWT令牌过期或无效,服务器将返回401错误。因此,请确保您的代码中使用的JWT令牌是有效的。
以下是使用Node.js和jsonwebtoken模块生成JWT令牌的示例代码:
const jwt = require('jsonwebtoken');
const secret = 'mysecretkey';
const token = jwt.sign({ username: 'myusername' }, secret, { expiresIn: '1h' });
console.log(token);
使用JWT身份验证时,必须将JWT令牌添加到Authorization标头中作为Bearer令牌。如果未在调用中正确设置Authorization标头,则服务器将返回401错误。
以下是使用Axios在JavaScript中执行API调用并设置Authorization标头的示例代码:
const axios = require('axios');
const jwtToken = 'myjwttoken';
axios.get('https://api.example.com/data', {
headers: {
'Authorization': `Bearer ${jwtToken}`
}
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error);
});
有时,API端点可能不正确或不可用,这也会导致401错误。请确保您的API端点是正确的,并且在服务器上正在运行。
如果您遵循以上步骤并仍然遇到401错误,则可能需要调查JWT令牌是否未正确生成或是否未设置Authorization标头。
上一篇:API调用使用FetchAPI被CORS策略阻止问题。
下一篇:API调用数据库图