2016-09-22 47 views
0

我正在使用客户端Cognit Javascript SDK。部分设置需要配置region, UserPoolId, ClientId, and identityPoolId。在测试过程中,我通过一个单独的文件包含数据,用户可以查看并使用它来发现这些Cognito ID。公开AWS Cognito ID是否安全?

将这些ID暴露给最终用户是否安全?

否则,我该如何安全地做到这一点?

+0

不,这不是安全 –

回答

0

AWS在他们的论坛上发表了一篇文章,解决了这个问题。

请注意,userPoolId和的clientId,只有未经身份验证的API可以调用,用于如:注册,认证,forgotPassword等,所以userPoolId和单独客户端ID是不够的,做你的用户群的任何恶意活动。

源是https://forums.aws.amazon.com/thread.jspa?threadID=245752&tstart=200

一种替代方法是使用API​​网关与Cognito授权用于处理到其它后端服务(如DynamoDB或S3)的呼叫,而不是直接使用这些从前端JS 。这是这里描述:

https://aws.amazon.com/blogs/mobile/aws-mobile-app-backend-with-hybrid-apps/

0

如果您使用的是身份验证身份(当您使用Cognito用户池,那么它是身份验证身份),那么即使攻击者获得了identityId,他们也无法获得AWS凭证,而不提供只能使用id令牌通过提供认证凭证(用户名和密码)获得。 P:始终建议使用经过身份验证的身份,即使您有未经身份验证的身份的用例,最好将未经身份验证的身份的访问权限保持为最小。

+0

我使用验证的身份。我不暴露我的新闻凭据。我如何避免暴露'region,UserPoolId,ClientId和identityPoolId'? –