AWS Amplify Gateway REST-React(良好)vs React Native(403)

时间:2019-02-24 22:44:26

标签: reactjs amazon-web-services react-native aws-api-gateway aws-amplify

我希望通过AWS Amplify创建一个API,以便可以从React React Native查询/发布。我通过无服务器设置API和Lambda,并通过Cognito控制台手动设置用户池,每个平台有两个单独的应用程序客户端。 React设置进展顺利,所有对API的获取/发布/输入均按预期工作。

事实证明,React-Native多毛。我手动将Amplify配置为与React项目中的值相同,除了iphlpapi.lib之外,以匹配Cognito用户池中的应用程序客户端。

Auth调用(SignIn,SignUp)都可以正常工作,因此配置至少可以正常进行。但是,在React中完美工作的REST API调用会以本机APP_CLIENT_ID中的403响应。 (相同的用户)。我翻阅文档,发现可能需要在本机配置中使用Missing Authentication Token

custom_header

这清除了Amplify.configure({ API: { endpoints: [ { name: 'testapi', endpoint: config.apiGateway.URL, region: config.apiGateway.REGION, custom_header: async () => { return { Authorization: (await Auth.currentSession()).idToken.jwtToken }; } } ] } }); 错误,但是现在我得到了: Missing Authentication Token

我通过Chrome控制台比较了全部请求,看起来React中的Authorization标头是通过Amplify正确生成的,包括Credential,Signature,SignedHeader等。它在本机中看起来与{{1} }上面的更改只是将Authorization标头设置为jwtToken。

0 个答案:

没有答案