Axios Wizaplace API 401未经授权,但令牌在上一个请求中工作
我在Wizaplace本机生成的API路由上提出了一个401请求:Axios Wizaplace API 401未经授权,但令牌在上一个请求中工作,axios,nuxt.js,Axios,Nuxt.js,我在Wizaplace本机生成的API路由上提出了一个401请求:GET/API/v1/orders/{{orderId}}(使用其ID获取一个订单),我传递的令牌(apiKey)与之前调用POST/API/v1/basket(清空购物车)时传递的令牌(apiKey)相同,所以我不明白为什么会发生这种情况。欢迎任何帮助 这是我的密码: async function getOrderById (req, orderId) { try { console.log(req.header('
GET/API/v1/orders/{{orderId}}
(使用其ID获取一个订单),我传递的令牌(apiKey)与之前调用POST/API/v1/basket
(清空购物车)时传递的令牌(apiKey)相同,所以我不明白为什么会发生这种情况。欢迎任何帮助
这是我的密码:
async function getOrderById (req, orderId) {
try {
console.log(req.header('x-wiza-token'))
const ret = axios.get(WIZAPLACE_URL + '/orders/' + orderId, {},
{
headers: {
Authorization: req.header('x-wiza-token')
}
}) // This is returning 401
console.log(ret.data)
return ret.data
} catch (e) {
// eslint-disable-next-line no-console
console.log('Error: ', e)
}
}
app.post('/basket/:id/order', async (req, res) => {
try {
console.log('[Order]') // eslint-disable-line
console.log('URL: ', WIZAPLACE_URL + '/basket/' + req.params.id + '/order') // eslint-disable-line
console.log('Auth headers: ', req.header('x-wiza-token')) // eslint-disable-line
console.log('body: ', req.body) // eslint-disable-line
const ret = await axios.post(WIZAPLACE_URL + '/basket/' + req.params.id + '/order',
req.body,
{
headers: {
Authorization: req.header('x-wiza-token')
}
})
if (ret.data.orders && !ret.data.html) {
// This should reset a cart only when and order was successfull
axios.post(WIZAPLACE_URL + '/basket', {}, {
headers: {
Authorization: req.header('x-wiza-token')
}
}) // This call is working
}
console.log('Order ret: ', ret.data) // eslint-disable-line
const orders = []
for (let i = 0; i !== ret.data.orders.length; i++) {
console.log(ret.data.orders[i])
orders.push(getOrderById(req, ret.data.orders[i].id))
}
console.log(orders)
res.send(ret.data) // This is working too
} catch (e) {
// eslint-disable-next-line no-console
console.log('Error: ', e.response)
res.status(400).send(e)
}
})
我真的不知道我错过了什么。在这方面的任何帮助都将是非常欢迎的
以下是文档的屏幕截图:
在“网络”选项卡上检查您是否发送了正确的令牌(及其格式)。另外,试着打一些邮递员之类的电话DHi,谢谢你抽出时间。请求没有出现在网络中,但在nuxt控制台中,我可以通过
console.log(req.header('x-wiza-token'))
看到令牌的格式良好:token d4eOSY0N/******************************
如果有此帮助,但在响应的头中我有以下内容:'www-authenticate':'Basic realm=“User-email/API-key”但在API文档中,它说授权必须是一个apiKey,而不是一个基本的身份验证(格式为令牌************************
)@kissu请求是服务器端的,这就是为什么我在网络选项卡上看不到它。