基于.NET服务器对接AWS Cognito:注册用SignUpRequest是否合理?
AWS Cognito 服务端中间件注册方案:SignUpRequest 是正确选择
- 针对你的注册场景,SignUpRequest完全是正确的选择。它对应前端直接调用
InitiateAuth的自主注册流程,服务端通过这个接口发起注册,和前端直接操作的用户状态流转逻辑完全一致。 AdminCreateUserRequest确实不适合你的需求,这个接口是给管理员后台创建用户用的,默认会把用户状态设为FORCE_CHANGE_PASSWORD,强制用户首次登录修改密码,这和普通用户自主注册的场景匹配度很低。- 给你一段.NET环境下使用SignUpRequest的示例代码:
// 初始化Cognito客户端 var cognitoClient = new AmazonCognitoIdentityProviderClient(); // 构建注册请求 var signUpReq = new SignUpRequest { ClientId = "你的Cognito App Client ID", Username = "用户提交的用户名", Password = "用户提交的密码", // 按需添加用户属性,比如邮箱、手机号等 UserAttributes = new List<AttributeType> { new AttributeType { Name = "email", Value = "user@example.com" } } }; // 发起注册请求 var signUpResp = await cognitoClient.SignUpAsync(signUpReq);
- 额外注意:如果你的用户池开启了邮箱/手机号验证,注册后用户状态会根据验证配置变为
UNCONFIRMED(需用户验证)或CONFIRMED(自动验证),这和前端直接对接Cognito的流程完全同步,完美适配你的中间件转发需求。
内容的提问来源于stack exchange,提问作者LittleBooger
相关产品推荐
相关产品推荐

