0

我正在尝试使用 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,我必须进行哪些更改?

谢谢!

4

0 回答 0