Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用AWS Amplify认证用户与ALB或API网关通信?_Amazon Web Services_React Native_Amazon Cognito_Aws Amplify_Aws Application Load Balancer - Fatal编程技术网

Amazon web services 使用AWS Amplify认证用户与ALB或API网关通信?

Amazon web services 使用AWS Amplify认证用户与ALB或API网关通信?,amazon-web-services,react-native,amazon-cognito,aws-amplify,aws-application-load-balancer,Amazon Web Services,React Native,Amazon Cognito,Aws Amplify,Aws Application Load Balancer,我使用amplify add auth将我的AWS Cognito集成到我的React原生应用程序中,根据,一切都很好,我能够注册并登录该应用程序。cli向导将两个应用程序客户端与其创建的用户池相关联:[poolid]\u app\u client和[poolid]\u app\u clientWeb 我希望经过身份验证的用户能够与托管在EC2实例上的web应用程序通信。我想我可以使用应用程序负载平衡器来实现这一点,方法是将其设置为将经过身份验证的请求转发到EC2实例。问题是,我无法创建使用Co

我使用
amplify add auth
将我的AWS Cognito集成到我的React原生应用程序中,根据,一切都很好,我能够注册并登录该应用程序。cli向导将两个应用程序客户端与其创建的用户池相关联:
[poolid]\u app\u client
[poolid]\u app\u clientWeb

我希望经过身份验证的用户能够与托管在EC2实例上的web应用程序通信。我想我可以使用应用程序负载平衡器来实现这一点,方法是将其设置为将经过身份验证的请求转发到EC2实例。问题是,我无法创建使用Cognito用户池进行身份验证的应用程序负载平衡器默认操作

如果我选择与
[poolid]\u App\u clientWeb
关联的应用程序客户端,则在保存时会出现错误:
创建侦听器时出错用户池客户端必须具有客户端密码
。这是放大工具在
aws exports.js
中导出到我的React原生应用程序的客户端ID

如果我选择与
[poolid]\u App\u Client
关联的应用程序客户端,我得到创建侦听器时出现的
错误,则必须在用户池客户端
中启用OAuth流

我不知道怎么继续。ALB是前进的道路还是API网关


API网关使这一点更加简单。在完成createapi之后,我能够创建一个与我的Cognito用户池(clientWeb池)连接的授权器。然后,在创建端点资源之后,我在其配置的
方法请求
部分中将它们与授权者关联

然后我可以发送从Amplify获得的身份令牌:

(等待Auth.currentSession()).idToken.jwtToken


作为我配置的端点的HTTP头值

您应该对客户端的“用户池->应用程序集成->应用程序客户端”设置进行适当更改