我使用的是允许用户发送短信(twilio/plivo
)的第三方软件,我想在将其发送到{{DynamoDB
之前验证该电话号码是否有效且属于用户1}}。
我在EC2
上设置了一个nodejs
实例,可以收到带有电话号码的短信,那么我该如何与cognito
交叉检查此电话号码,因为它& #39;是通过移动短信而不是通过网站完成的?
我在我们的网站上使用API网关来检查用户是否确实是他们所说的人,但由于它需要令牌来验证用户我不认为这可以通过短信来实现?
编辑:似乎我可以看到我的所有用户,如果他们已经过验证,以及他们的电话号码。当然,我可以编写和调用一些bash脚本,它具有与cognito的管理员IAM权限以获得相同的访问权限吗?或者甚至可以使用nodeJS做到这一点?答案 0 :(得分:0)
//aws cognito access
const aws = require('aws-sdk');
aws.config.update({
accessKeyId: 'key',
secretAccessKey: 'accessKey'
});
const CognitoIdentityServiceProvider = aws.CognitoIdentityServiceProvider;
const client = new CognitoIdentityServiceProvider({ apiVersion: '2016-04-18', region: 'REGION'});
//cognito request things
var params = {
UserPoolId: 'UserPoolID', /* required */
AttributesToGet: [
'sub',
'email_verified'
/* more items */
],
Filter: 'phone_number="+someNumber"',
Limit: 10
};
client.listUsers(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
console.log(data["Users"][0]["Attributes"]);
}
});