在AWS Cognito中应何时使用adminCreateUser与signUp?
AWS Cognito
adminCreateUser与signUp方法差异及选型建议 核心差异
- 调用权限要求不同
signUp是公开访问接口,无需AWS身份凭证即可调用,适合放在前端供普通用户自主触发注册adminCreateUser是管理员专属接口,必须携带具备Cognito管理员权限的IAM凭证才能调用,仅能在服务端/管理员后台等可信环境调用,禁止直接暴露到前端代码中
- 用户激活逻辑不同
signUp默认走用户自助验证流程,注册后会向用户发送邮箱/短信验证码,用户完成验证后账号直接激活,全程无需管理员介入adminCreateUser默认走管理员代创建流程,创建账号后可选择给用户发送临时密码,用户首次登录时需强制修改临时密码完成激活,也可直接配置永久密码跳过修改步骤
- 属性配置权限不同
signUp仅支持设置用户池配置中开放给用户自助编辑的属性,无法修改仅管理员可操作的字段adminCreateUser支持配置所有用户属性,包括仅管理员可编辑的自定义字段、直接为用户分配用户组、设置特殊权限标识等
- 关联触发器不同
signUp触发用户自主注册对应的PreSignUp、PostConfirmation等触发器adminCreateUser触发管理员创建账号专属的PreSignUp_AdminCreateUser、PostAuthentication_AdminCreateUser等触发器
适配场景选型建议
你要实现的全量用户功能两个方法并不冲突,可按使用场景分别选择:
- 面向普通用户的前台自主注册场景,选用
signUp即可匹配常规用户注册的使用习惯 - 面向管理员的后台手动新增用户、代用户创建账号的场景,选用
adminCreateUser满足管理员操作需求
内容的提问来源于stack exchange,提问作者Fernando Santiago
相关产品推荐
相关产品推荐

