Amazon Cognito
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

示例:利用 Lambda 触发器迁移 JavaScript 用户

可使用用户迁移 Lambda 触发器轻松地将用户从现有用户管理系统迁移到您的用户池,而无需重置密码。

设置用户迁移 Lambda 触发器

在对您的 JavaScript 应用程序进行改动之前,请首先为用户池设置用户迁移 Lambda。

要了解有关 Lambda 触发器的更多信息,请参阅 使用 Lambda 触发器自定义用户池工作流

有关使用 Lambda 触发器迁移用户的更多信息,请参阅 利用用户迁移 Lambda 触发器将用户导入用户池

JavaScript 应用程序改动

将您的 AWSCognitoIdentityProvider JavaScript 开发工具包更新为版本 2.0.2 或更高版本。

用户迁移身份验证流程

您可以对用户进行身份验证,比照旧系统验证其密码,并将他们的配置文件无缝迁移到您的用户池。但是,此服务需要旧密码,以避免密码重置。

开发工具包中的默认身份验证流程会实施安全远程密码 (SRP) 协议,不会通过网络发送任何密码。要在您的应用程序上启用用户迁移,请使用 USER_PASSWORD_AUTH 身份验证流程,该流程在身份验证期间通过加密 SSL 连接将密码发送至服务。要在您的应用程序上启用用户迁移,请使用 USER_PASSWORD_AUTH 身份验证流程,该流程在身份验证期间通过加密 SSL 连接将密码发送至服务。

将身份验证类型设置为 USER_PASSWORD_AUTH

cognitoUser.setAuthenticationFlowType('USER_PASSWORD_AUTH'); cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function(result) { // User authentication was successful }, onFailure: function(err) { // User authentication was not successful }, mfaRequired: function (codeDeliveryDetails) { // MFA is required to complete user authentication. // Get the code from user and call cognitoUser.sendMFACode(verificationCode, this); } });