我正在尝试将axios get请求中的'token_mailchimp'传递给nodejs请求get
此刻,我直接从node / express项目中的app.js中的变量传递auth令牌。
node / express项目中的app.js
app.get('/mailchimp/campaigns', checkAuth, function (req, res) {
request
.get('https://' + mailchimpInstance + '.api.mailchimp.com/3.0/campaigns')
.set('Content-Type', 'application/json;charset=utf-8')
.set('Authorization', 'Basic '+token_mailchimp)
.end((err, result) => {
if (err) {
res.status(500).json(err);
} else {
res.json(result.body);
}
});
});
axios在ReactJS项目中获取请求
.get('http://localhost:8081/mailchimp/campaigns',
{ headers: {"Authorization" : `Bearer `+jwt_token} })
.then(({ data })=> {
this.setState({
campaigns: data.campaigns
});
})
.catch((err)=> {})
我如何从axios请求中传递请求/mailchimp/campaigns
的身份验证令牌?
答案 0 :(得分:2)
您可以发送一个新的自定义标头,例如x-api-token
{ headers: {"Authorization" : Bearer+jwt_token, "x-api-token" : "your_token"} }
然后在app.js
中,访问请求中的标头,
const {headers} = req;
然后在您的API请求中使用它
.set('Authorization',`Basic ${headers["x-api-token"]}`)
注意:如果您使用的是cors
插件,请确保它允许该标头通过。
您可以根据需要在cors配置中手动添加标头x-api-token
。