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