使用Node JS登录AWS cognito

时间:2017-05-09 12:24:05

标签: node.js angular amazon-web-services aws-sdk aws-cognito

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

这里我使用了命令创建用户,首次验证,密码挑战和登录过程。

我已经使用CLI完成了这些步骤。任何人都可以建议我如何在Node JS中做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以从AWSLABS中参考以下示例项目 cognito-sample-nodejs

您还可以使用amazon-cognito-identity-js-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;

答案 1 :(得分:2)

首先,您必须安装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');

现在您可以使用以下命令: 例如,对于create user:

 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"');

以上是在CLI中用于创建用户的相同命令。您也可以使用上述其他命令。

谢谢!