Aws sdk Cognito AdminCreateUser设置密码并确认

Aws sdk Cognito AdminCreateUser设置密码并确认,aws-sdk,Aws Sdk,使用Cognito的AdminCreateUser时,如何在用户创建时指定永久密码?此外,如何将该用户设置为“已确认”?从大量文档中挖掘出来,这至少需要两个步骤-使用临时密码创建用户,并通过设置永久密码“完成”其注册。发布NodeJS解决方案 首先,使用SDK使用临时(未真正使用)密码创建用户: 从“aws sdk”导入{CognitoIdentityService Provider}; const adminCreateUser=async( 用户名:string, 密码:string ):承

使用Cognito的
AdminCreateUser
时,如何在用户创建时指定永久密码?此外,如何将该用户设置为“已确认”?

从大量文档中挖掘出来,这至少需要两个步骤-使用临时密码创建用户,并通过设置永久密码“完成”其注册。发布NodeJS解决方案

  • 首先,使用SDK使用临时(未真正使用)密码创建用户:
  • 从“aws sdk”导入{CognitoIdentityService Provider};
    const adminCreateUser=async(
    用户名:string,
    密码:string
    ):承诺=>{
    返回新承诺((解决、拒绝)=>{
    新CognitoIdentityServiceProvider({
    区域:“”,
    accessKeyId:“我们需要调用
    authenticateUser
    来触发
    NewPasswordRequired
    回调,在这种情况下,我们使用永久密码调用
    completeNewPasswordChallenge
    导入{
    身份验证详细信息,
    认知用户,
    CognitoUserPool,
    }来自“亚马逊cognito身份js”;
    export const cognitoPool:CognitoUserPool=new CognitoUserPool({
    用户池ID:“”,
    客户端ID:“”,
    });
    导出常量adminConfirmUser=async(
    用户名:string,
    密码:string
    ):承诺=>{
    返回新承诺((解决、拒绝)=>{
    const cognitoUser=新的cognitoUser({
    用户名:用户名,
    池:cognitoPool,
    });
    cognitoUser.authenticateUser(
    新的身份验证详细信息({
    用户名:用户名,
    密码:密码,
    }),
    {
    onSuccess:(会话,需要用户确认)=>{
    //用户已确认
    解决();
    },
    onFailure:err=>{
    //错误
    拒绝(错误);
    },
    newPasswordRequired:(userAttributes,requiredAttributes)=>{
    cognitoUser.completeNewPasswordChallenge(密码,null{
    onSuccess:session=>{
    //用户确认
    解决();
    },
    onFailure:err=>{
    //确认用户时出错
    拒绝(错误);
    },
    });
    },
    }
    );
    });
    };
    
    请注意,在确认用户注册时,您可能需要传递所需的属性,这取决于您设置Cognito池的方式