有人知道用户池ID 和客户端ID 是否敏感?目前我让他们坐在前端,只是想知道这是否危险。如果是,它们如何被利用?
答案 0 :(得分:2)
不,他们不是。他们应该是公开的。它们被利用的唯一方法是有人可以使用它们对您的用户池进行大量的SignUp调用。但只要这些注册未经过验证,这些注册就不会转换为活跃用户(除非您启用了用户自动验证)。这不是AWS特定的问题。假注册是一个令人头痛的问题,即使没有使用SignUp api并且PHP后端用于注册,也会遇到此问题。面对此问题的唯一方法是电子邮件/电话验证。
当然,如果您在用户池中禁用了SignUp,即只有管理员可以创建用户,那么这根本不是问题。
答案 1 :(得分:1)
ID token和Access token包含用户池ID和客户端ID,因此无法将这些值设计为私有。
答案 2 :(得分:0)
这些信息不敏感,但是如果一起使用,它们可以允许客户端将用户创建到您的Cognito用户民意测验中,从而可以访问您的应用程序。
对Admin方法的请求需要“ userPoolId”,该名称应保留在您的后端中。 客户/普通请求通常使用“ clientId”,在同一用户池下,该ID可以多个。
总而言之,“ userPoolId”是您的敏感信息,不应在您的客户端中公开。
注意:Amplify。@ auth都需要userPoolId和clientId,这是它们的另一个安全性失败,但是我还没有看到它们在任何请求中公开clientId。希望他们能尽快解决此问题。