我正在尝试使用 JavaScript 开发工具包和 AWS Cognito 使用 GET 方法调用 API Gateway HTTP 端点进行授权。
访问 API 方法失败并出现错误:{"message":"Missing Authentication Token"}。我检查了请求标头,实际上 cognito 没有添加任何令牌。Cognito 身份验证与位于同一 API 中的 POST 方法完美结合。唯一的区别(我知道)是 Cognito 应该对 GET 方法使用未授权角色。
这是我用于调用 GET 方法的代码。
var apigGetClient = apigClientFactory.newClient({
accessKey: AWS.config.credentials.accessKeyId,
secretKey: AWS.config.credentials.secretAccessKey,
sessionToken: AWS.config.credentials.sessionToken,
region: 'eu-central-1'
});
var params = {
// This is where any modeled request parameters should be added.
// The key is the parameter name, as it is defined in the API in API Gateway.
"param1": valueOfParam1,
};
var body = {
// This is were the body of the request will be placed.
};
var additionalParams = {
// If there are any unmodeled query parameters or headers that must be
// sent with the request, add them here.
headers: {
'Content-Type': 'application/json'
},
queryParams: {}
};
apigGetClient.rootGet(params, body, additionalParams).then(function (result) {
console.log(result);
}).catch(function (result) {
console.log(result);
});
为什么我的 GET-Request 未签名,为了正确调用 GET-Method,我必须进行哪些更改?
谢谢!