我正在使用AWS Cognito服务进行用户管理,按照AWS的教程,我正在使用Webpack。我定义的所有数据和函数都在entry.js
中,然后运行npm run build
,创建一个文件名my-app.js
,必须将其作为JavaScript包含在html文件中。
现在的问题是我有UserPool ID
,Client ID
,IdentityPool ID
以及一些出于安全目的无法与客户端共享的信息。
my-app.js
必须包含在HTML文件中,因此要公开凭据,是否可以隐藏我的凭据或任何其他人可以建议的其他方式?我是新来的。
答案 0 :(得分:1)
使用AWS Cognito API时,您必须提供UserPoolId,ClientId和IdentityPoolId-它们都是各种方法中必填的字段。因此,您将不得不在客户端的某处获取该信息。如果需要,可以尝试对其进行混淆,但这可能不值得。
从安全角度看,您关心什么?官方的AWS文档基本上暗示可以在客户端嵌入这些值。我还没有从Amazon看到过任何描述与尝试隐藏/保护用户/身份池ID有关的最佳实践的信息。即使攻击者拥有UserPoolId和ClientId,他们仍然需要用户名/密码才能访问您的服务。
答案 1 :(得分:0)
您可以检查最近启动的“ AWS秘密管理器”服务。 到目前为止,我还没有使用过,但是您可以分享您的经验。
通读介绍似乎可以解决您的用例。