我很难弄清楚如何在使用AWS Amplify和AWS AppSync的React应用程序中处理未经身份验证的用户。似乎大多数文档建议使用withAuthenticatorHOC 打包整个应用程序,aws-amplify-react但在现实世界中,这种情况很少见。
所以在这里,我如何设置客户端与AppSync API进行通信
const client = new AWSAppSyncClient({
url: AppSyncConfig.aws_appsync_graphqlEndpoint,
region: AppSyncConfig.aws_appsync_region,
auth: {
type: AUTH_TYPE.AMAZON_COGNITO_USER_POOLS,
jwtToken: async () =>
(await Auth.currentSession()).getIdToken().getJwtToken()
}
});
Run Code Online (Sandbox Code Playgroud)
然后包装顶级App组件export default withAuthenticator(App);
所有这些都有效,用户点击了根URL并获得了登录视图。如前所述,在现实世界中这是非常罕见的情况。通常,根URL以及许多其他URL向未经身份验证的用户开放。如何使用AWS Amplify完成它?-没有文档,而不是tut :-(
我发现了一些使它在这里工作的提示,但仍然没有完整的解释。