编程语言
首页 > 编程语言> > javascript-向AWS Gateway API React Native发出请求

javascript-向AWS Gateway API React Native发出请求

作者:互联网

在我的应用程序中,用户可以通过AWS Cognito用户池或Facebook进行身份验证,所有用户都管理着AWS身份池.一切正常,用户可以成功登录和认证.现在,我需要向AWS Gateway API进行身份验证的请求,然后将触发Lambda函数.我对接下来会发生什么感到困惑.我是否需要编写代码来签署这些请求,或者AWS javascript SDK已经为此内置了某些功能?我需要创建授权者吗?如何从AWS.config.credentials到对Gateway API进行成功的,经过身份验证的请求?

我正在使用React Native,因此自动生成的API无法正常工作.

编辑:这是我的请求代码:

fetch(‘https:// MY_API_GATEWAY_URL / prod / handleMessages /’,{
        方法:“ GET”,
        正文:null,
        标头:{
          授权:’Bearer’this.state.token,/ *这是AWS Cognito的JWT令牌. * /
        },
      })
      .then((response)=> {
          alert(JSON.stringify(response,null,2))
      })

我从这里得到403响应,但异常:IncompleteSignatureException

解决方法:

此时,您应该具有有效的Cognito发行的JWT.要在AWS API Gateway后面调用API,您需要将JWT与API调用一起传递.这应该放在承载类型的授权标头中.您可以确定是否需要自定义授权者,或者仅通过API Gateway使用内置授权.

其他信息可以在这里找到-
http://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html

您还需要确保IAM规则到位,以允许UserPool访问API网关端点-
http://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html

标签:amazon-web-services,react-native,aws-api-gateway,javascript
来源: https://codeday.me/bug/20191025/1930764.html