2017-09-09 24 views
-1

私はAWS API Gateway + AWS Cognito(フェデレーションID +ユーザープール)を使用しています。私は、APIゲートウェイでREST APIを作成しています。ユーザーリストを取得し、IDでユーザーを取得する方法があります。ユーザーIDとして何を使用する必要がありますか?CognitoのユーザーID

応答には、ID、ユーザー名、名、姓などのユーザーデータが含まれている必要があります。ユーザー名、姓、姓はユーザープール属性に格納されます。

examplesで、ユーザーIDとしてcognitoIdentityIdを使用しています。 cognitoIdentityIdをIDとして使用する場合は、このIDでどのようにユーザーデータを取得する必要がありますか? cognitoIdentityIdによってユーザーデータを取得する方法のAPIリファレンスへの例やリンクを教えてください。

答えて

0

ユーザー名を使用して、次の例のようにユーザー属性を取得できるはずです。

var AWS = require('aws-sdk'); 
AWS.config.region = 'us-east-1'; //This is required to derive the endpoint 
var poolData = { UserPoolId : 'us-east-1_TcoKGbf7n', 
    ClientId : '4pe2usejqcdmhi0a25jp4b5sh3' 
}; 
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData); 
var userData = { 
       Username : 'username', 
       Pool : userPool 
      }; 
var cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData); 

cognitoUser.getUserAttributes(function(err, result) { 
    if (err) { 
     alert(err); 
     return; 
    } 
    for (i = 0; i < result.length; i++) { 
     console.log('attribute ' + result[i].getName() + ' has value ' + result[i].getValue()); 
    } 
}); 

参考:Examples: Using the JavaScript SDK

次の例を使用し、その後、AccessTokenを使用して、ユーザー属性を照会する必要がある場合。

var params = { 
    AccessToken: 'STRING_VALUE' /* required */ 
}; 
cognitoidentityserviceprovider.getUser(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 

参考:AWS JavaScript SDK GetUser

注:現在、ユーザーIDによるユーザー属性を取得するためのAWSのJavaScript SDKとAPIの両方でサポートされません。

+0

バックエンドのラムダ関数でユーザー属性を取得する必要があります。ユーザー名はありません。私はバックエンドにユーザーIDしか持っていません。 – Ildar

+0

現在、UserIdによってユーザー属性を取得するためのAWS JavaScript SDKおよびAPIのサポートはありません。ユーザー名を格納するか、AWS Cognito Userpools認証から返されたIDトークンを使用してユーザー属性を照会する必要があります。 – Ashan

+0

私はidでユーザーを取得したいだけです。コグニートが許可していないのは不思議です – Ildar

関連する問題