Node.js 使用节点JS使用awscognito登录

Node.js 使用节点JS使用awscognito登录,node.js,angular,amazon-web-services,aws-sdk,aws-cognito,Node.js,Angular,Amazon Web Services,Aws Sdk,Aws Cognito,我使用Angular2作为前端,节点JS作为后端。我必须使用AWS cognito进行登录过程 在这里,我使用了创建用户、首次身份验证、密码质询和登录过程的命令 我已经使用CLI完成了这些步骤。有谁能建议我如何在Node JS中执行此操作吗?您可以参考AWSlapes中的以下示例项目 您还可以使用进行更好的开发 您可以在node中使用如下内容 var AWS = require('aws-sdk'); var CognitoSDK = require('amazon-cognito-ident

我使用Angular2作为前端,节点JS作为后端。我必须使用AWS cognito进行登录过程

在这里,我使用了创建用户、首次身份验证、密码质询和登录过程的命令


我已经使用CLI完成了这些步骤。有谁能建议我如何在Node JS中执行此操作吗?

您可以参考AWSlapes中的以下示例项目

您还可以使用进行更好的开发

您可以在node中使用如下内容

var AWS = require('aws-sdk');
var CognitoSDK = require('amazon-cognito-identity-js-node');

AWS.CognitoIdentityServiceProvider.AuthenticationDetails = CognitoSDK.AuthenticationDetails;
AWS.CognitoIdentityServiceProvider.CognitoUserPool = CognitoSDK.CognitoUserPool;
AWS.CognitoIdentityServiceProvider.CognitoUser = CognitoSDK.CognitoUser;

您可以参考AWSLAPS中的以下示例项目

您还可以使用进行更好的开发

您可以在node中使用如下内容

var AWS = require('aws-sdk');
var CognitoSDK = require('amazon-cognito-identity-js-node');

AWS.CognitoIdentityServiceProvider.AuthenticationDetails = CognitoSDK.AuthenticationDetails;
AWS.CognitoIdentityServiceProvider.CognitoUserPool = CognitoSDK.CognitoUserPool;
AWS.CognitoIdentityServiceProvider.CognitoUser = CognitoSDK.CognitoUser;

首先,您必须安装
npm
模块,如下所示:

npm install aws-sdk --save
npm install amazon-cognito-identity-js-node --save
npm install node-cmd --save
现在,在安装这些模块之后,您需要使用

var AWS          = require('aws-sdk');
var cmd          = require('node-cmd');
var CognitoSDK   = require('amazon-cognito-identity-js-node');
现在,您可以使用以下命令: 例如,创建用户:

 cmd.get('aws cognito-idp admin-create-user --user-pool-id <user pool id> --username <username> --user-attributes Name=email,Value=<emailid@domain.com>  Name=phone_number,Value=<9876543210> Name=email_verified,Value=True Name=phone_number_verified,Value=True --temporary-password <password> --desired-delivery-mediums "EMAIL" "SMS"');
cmd.get('aws cognito idp admin create user--user pool id--username--user attributes Name=email,Value=Name=phone\u number,Value=True=phone\u number\u verified,Value=True--temporary password--所需的传递媒介“email”“SMS”);
上述命令与CLI中用于创建用户的命令相同。您也可以像上面一样使用其他命令


谢谢大家!

首先,您必须安装
npm
模块,如下所示:

npm install aws-sdk --save
npm install amazon-cognito-identity-js-node --save
npm install node-cmd --save
现在,在安装这些模块之后,您需要使用

var AWS          = require('aws-sdk');
var cmd          = require('node-cmd');
var CognitoSDK   = require('amazon-cognito-identity-js-node');
现在,您可以使用以下命令: 例如,创建用户:

 cmd.get('aws cognito-idp admin-create-user --user-pool-id <user pool id> --username <username> --user-attributes Name=email,Value=<emailid@domain.com>  Name=phone_number,Value=<9876543210> Name=email_verified,Value=True Name=phone_number_verified,Value=True --temporary-password <password> --desired-delivery-mediums "EMAIL" "SMS"');
cmd.get('aws cognito idp admin create user--user pool id--username--user attributes Name=email,Value=Name=phone\u number,Value=True=phone\u number\u verified,Value=True--temporary password--所需的传递媒介“email”“SMS”);
上述命令与CLI中用于创建用户的命令相同。您也可以像上面一样使用其他命令


谢谢大家!

我使用了amazon cognito identity js节点模块并获得了IdToken。这很好,但使用CLI时,我在JSON响应中得到了“ChallengeName”:“NEW_PASSWORD_REQUIRED”,而不是使用此模块。你能告诉我怎么才能拿到这个吗。因为我必须告诉用户,要么用户正在使用临时密码,要么他已经更新了密码?我已经使用了amazon cognito identity js节点模块并获得了IdToken。这很好,但使用CLI时,我在JSON响应中得到了“ChallengeName”:“NEW_PASSWORD_REQUIRED”,而不是使用此模块。你能告诉我怎么才能拿到这个吗。因为我必须告诉用户,要么用户正在使用临时密码,要么他已经更新了密码?如果我们使用的是node cmd,那么为什么我们要使用其他模块(aws sdk和amazon cognito identity js node)?aws用于类似aws.config.update的配置({accessKeyId:accessKeyId,secretAccessKey:secretAccessKey,region:region});实际上它们彼此之间有一些依赖关系,所以最好您保留它们如果我们使用的是node cmd,那么为什么我们要使用其他模块(aws sdk和amazon cognito identity js node)?aws用于像aws.config.update这样的配置({accessKeyId:accessKeyId,secretAccessKey:secretAccessKey,region:region});实际上它们彼此之间有一些依赖性,所以您应该更好地保留它们