Amazon web services aws cognito&&;apiGateway返回状态401

Amazon web services aws cognito&&;apiGateway返回状态401,amazon-web-services,cors,aws-api-gateway,amazon-cognito,Amazon Web Services,Cors,Aws Api Gateway,Amazon Cognito,我在api的响应头中正确地配置了cors 当我用验证过的令牌通过邮递员测试我的api时 附加在标题(“授权”)中,返回200 我检查了前端获取代码以请求该api,似乎没有错误或错误 怎么会这样?有谁遭受过和我现在一样的痛苦吗 增加: 我的前端获取代码如下所示 export const getDoc = async (docId, token) => { const path = `${apiGateway.URL}`; const body = { docI

我在api的响应头中正确地配置了cors

当我用验证过的令牌通过邮递员测试我的api时 附加在标题(“授权”)中,返回200

我检查了前端获取代码以请求该api,似乎没有错误或错误

怎么会这样?有谁遭受过和我现在一样的痛苦吗

增加:

我的前端获取代码如下所示

export const getDoc = async (docId, token) => {
    const path = `${apiGateway.URL}`;
    const body = {
        docId: docId
    };
    const headers = {
        Authorization: token,
        'Content-Type': 'application/json'

    };
    const result = await fetch(path, {
        body,
        headers,
    });
    if (result.status !== 200) {
        throw new Error('failed to get doc');
    }
    return result.json();
};

您只需在“令牌源”字段中输入“授权”,而不是“method.request.headers.Authorization”。否则,您将得到一个401错误。

@VijayanathViswanathan当然,我已经在API网关中完成了基本的CORS配置。如上所述,PostMan中的API调用成功。但它在我的前端代码中不起作用“授权”请求头和“内容类型:application/json”都会触发浏览器进行预飞行。因此,问题正是我在前面的评论中所描述的:您需要重新配置服务器,使其不需要对选项请求进行授权。原因是,浏览器在发出飞行前选项请求时不发送授权请求标头。之所以不允许,是因为该选项请求的全部目的是让浏览器询问服务器,您是否允许具有授权标头的跨源请求?请您详细解释