停止未经身份验证的 Cognito 身份用户池注册
Stop Unauthenticated Cognito Identity User Pool Signup
我一直在尝试使用新的 Cognito 用户池来管理用户帐户,并且我正在尝试构建一个系统,用户必须登录才能使用该系统,并且新用户只能由现有用户添加用户(即没有 public 注册)。
目前似乎无法阻止未经身份验证的用户调用 signUp。我已经更改了它,以便池不允许未经身份验证的用户,但这似乎没有任何区别(因为将 accessKeyId 和 secretAccessKey 设置为任何东西都会使它 运行)。
我是不是漏掉了什么?
首先,我认为您对Identity Pool and a User Pool感到困惑。 Cognito 用户池没有允许或不允许 "unauthenticated" 访问的概念,身份池有。
现在回答您的实际问题,Cognito 用户池是一个身份验证提供程序,这隐含地意味着注册过程必须未经身份验证。无法验证注册电话。
不过,如果您的用例是构建某种基于邀请的注册流程,您可以将 Lambda trigger 功能与用户池结合使用,并验证 PreSignUp 触发器中的每个注册调用。此验证可以检查验证图中是否存在有效的邀请代码,并仅在这种情况下接受呼叫。
好久不见,AWS团队解决了这个问题。他们现在添加了一个选项 允许用户注册吗? 将其设置为:只有管理员可以创建用户 意味着没有人可以注册到用户池。
现在要添加用户,您需要使用 aws cognito sdk 和以 'admin' 开头的各种功能(例如 adminAddUser)。
我一直在尝试使用新的 Cognito 用户池来管理用户帐户,并且我正在尝试构建一个系统,用户必须登录才能使用该系统,并且新用户只能由现有用户添加用户(即没有 public 注册)。
目前似乎无法阻止未经身份验证的用户调用 signUp。我已经更改了它,以便池不允许未经身份验证的用户,但这似乎没有任何区别(因为将 accessKeyId 和 secretAccessKey 设置为任何东西都会使它 运行)。
我是不是漏掉了什么?
首先,我认为您对Identity Pool and a User Pool感到困惑。 Cognito 用户池没有允许或不允许 "unauthenticated" 访问的概念,身份池有。
现在回答您的实际问题,Cognito 用户池是一个身份验证提供程序,这隐含地意味着注册过程必须未经身份验证。无法验证注册电话。
不过,如果您的用例是构建某种基于邀请的注册流程,您可以将 Lambda trigger 功能与用户池结合使用,并验证 PreSignUp 触发器中的每个注册调用。此验证可以检查验证图中是否存在有效的邀请代码,并仅在这种情况下接受呼叫。
好久不见,AWS团队解决了这个问题。他们现在添加了一个选项 允许用户注册吗? 将其设置为:只有管理员可以创建用户 意味着没有人可以注册到用户池。
现在要添加用户,您需要使用 aws cognito sdk 和以 'admin' 开头的各种功能(例如 adminAddUser)。