0

私は、ユーザがテキストメッセージ(twilio/plivo)を送信できるようにするサードパーティのソフトウェアを使用しています。電話番号が有効であり、ユーザに所属していることを確認してからDynamoDBに送信しました。ユーザートークンなしで、Cognitoのユーザー情報にアクセスできますか?

私は電話番号の着信テキストメッセージを取得しますnodejs上で実行されている設定EC2インスタンスを持っているので、それはウェブサイトを通じて携帯電話のテキストメッセージを介してではなく行われていますので、どのように私は、cognitoでこの電話番号を確認し、クロスに行きますか?

GoogleのウェブサイトでAPIゲートウェイを使用して、ユーザーが実際に自分の発言をしているかどうかを確認していますが、ユーザーを検証するトークンが必要なため、テキストメッセージでは可能ではないと思いますか?

編集:確認されたユーザーと電話番号のすべてが表示されているようです。確かに私は書くことができ、この同じアクセスを得るためにコグニートと管理者のIAMの権利を持っているいくつかのbashスクリプトがありますか?または、nodeJSを使用してこれを行うこともできますか?

+0

ああとさらに悪いことに、私たちのDynamoDBのテーブルのPartitionKeyは、ユーザーUIDであることがあるので、どのように私もきちんとこの入ってくるテキストを関連付けて、そのUIDを取得するのでしょうか? APiゲートウェイでは、$ context.authorizer.claims.sub – VDog

答えて

0

ああ、私はそれを理解しました!プライベートだというのが私のEC2インスタンス上:

//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"]); 
    } 
}); 
関連する問題