小编Tig*_*eng的帖子

AWS Amplify React GET 请求错误 - 缺少身份验证令牌

我在我的 React 应用程序中使用 AWS Amplify 来调用我在 API Gateway 中托管的 API,并使用 AWS_IAM 授权。当我将授权设置为 NONE 时,我的 React 应用程序中一切正常。

但是,当我AWS_IAM使用API.get()Amplify设置授权并执行我的 API 时,如下代码所示:

const notes = await API.get('notes', '/notes', init);
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,如:

{
    "message": "Missing Authentication Token",
    "err": "missing auth"
}
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用 aws-api-gateway-cli-test 来测试我的 API 网关。通过脚本,我能够获得有效的凭证、经过身份验证和正确的响应。我还使用我的管理员凭据尝试了 POSTMAN,它也能正常工作。

在做了一些研究之后,我看到人们把这个提到 CORS 问题。我已经仔细检查了我的 API 网关设置并确认我已启用 CORS。同样的问题仍然存在。

通过 aws-amplify 的调试功能,我能够在 Chrome 检查器中看到签名过程。使用一些 accessKey 和 secretKey 正确执行了签名过程。我把那些钥匙从检查员那里拿出来放到我的邮递员那里,并试图拿到。

这些凭据无效,我收到以下错误消息:

{
    "message": "The security token included in the request is invalid.",
    "err:": "default"
}
Run Code Online (Sandbox Code Playgroud)

更新:我忘记将会话令牌复制到 POSTMAN 中。现在,使用我的应用程序生成的所有凭据,我可以从 …

amazon-web-services amazon-cognito aws-api-gateway aws-amplify

5
推荐指数
1
解决办法
3239
查看次数