如何 post jwt 令牌以及使用 aws lambda 通过 nodejs 发出的请求
How to post jwt token along with a request via nodejs using aws lambda
我有以下代码可以正确地点击远程 API 并按预期返回结果。
const http = require('http');
exports.handler = async (event) => {
let dataString = '';
const response = await new Promise((resolve, reject) => {
const req = http.get("url", function(res) {
res.on('data', chunk => {
dataString += chunk;
});
res.on('end', () => {
resolve({
statusCode: 200,
body: JSON.stringify(JSON.parse(dataString), null, 4)
});
});
});
req.on('error', (e) => {
reject({
statusCode: 500,
body: 'Something went wrong!'
});
});
});
return response;
};
但我必须使用 jwt 令牌才能正确命中此 api。我该怎么做?
您使用 Authorization
header:
传递 JWT 令牌
const http = require('http');
exports.handler = async (event) => {
let dataString = '';
const token = "...." // <- your JWT token
const response = await new Promise((resolve, reject) => {
const options = {
"headers": {"Authorization": "Bearer " + token}
}
const req = http.get("url", options, function(res) { [...] }
});
return response;
};
请不要在生产代码中对令牌进行硬编码。要么在事件中传递它,要么在环境变量中设置它,要么从 SSM 加载它,要么使用 AppConfig。
我有以下代码可以正确地点击远程 API 并按预期返回结果。
const http = require('http');
exports.handler = async (event) => {
let dataString = '';
const response = await new Promise((resolve, reject) => {
const req = http.get("url", function(res) {
res.on('data', chunk => {
dataString += chunk;
});
res.on('end', () => {
resolve({
statusCode: 200,
body: JSON.stringify(JSON.parse(dataString), null, 4)
});
});
});
req.on('error', (e) => {
reject({
statusCode: 500,
body: 'Something went wrong!'
});
});
});
return response;
};
但我必须使用 jwt 令牌才能正确命中此 api。我该怎么做?
您使用 Authorization
header:
const http = require('http');
exports.handler = async (event) => {
let dataString = '';
const token = "...." // <- your JWT token
const response = await new Promise((resolve, reject) => {
const options = {
"headers": {"Authorization": "Bearer " + token}
}
const req = http.get("url", options, function(res) { [...] }
});
return response;
};
请不要在生产代码中对令牌进行硬编码。要么在事件中传递它,要么在环境变量中设置它,要么从 SSM 加载它,要么使用 AppConfig。