0

Facebook を使用して認証したユーザーに正常にログインできました。これは正常に機能し、ページは期待どおりに別のページにリダイレクトされました。コードを以下に示します。

私の質問はCognito Identity ID、別のページにいるときにユーザー ID (または ) を取得するにはどうすればよいですか? (同じページではありませんが、別のページにいるとき)

AWS.config.region='us-east-1';
        AWS.config.credentials = new AWS.CognitoIdentityCredentials({

            // either IdentityPoolId or IdentityId is required
            // See the IdentityPoolId param for AWS.CognitoIdentity.getID (linked below)
            // See the IdentityId param for AWS.CognitoIdentity.getCredentialsForIdentity
            // or AWS.CognitoIdentity.getOpenIdToken (linked below)
            IdentityPoolId: CognitoIdentityPoolId,

            // optional, only necessary when the identity pool is not configured
            // to use IAM roles in the Amazon Cognito Console
            // See the RoleArn param for AWS.STS.assumeRoleWithWebIdentity (linked below)
            RoleArn: 'arn:aws:iam::9287589741169:role/Cognito_111Auth_Role',

            // optional tokens, used for authenticated login
            // See the Logins param for AWS.CognitoIdentity.getID (linked below)
            Logins: {
              'graph.facebook.com': accessToken
            },

            // optional name, defaults to web-identity
            // See the RoleSessionName param for AWS.STS.assumeRoleWithWebIdentity (linked below)
            RoleSessionName: 'web',

            expired: 'true'



        });
        console.log('Refreshing cognito credentials');
        AWS.config.credentials.refresh(function(err) {
          if (err) {
              console.log('Failed to refresh');
              return;
          } else {
              AWS.config.credentials.get(function(err){
                  if (!err) {
                    var id = AWS.config.credentials.identityId;
                    console.log('Cognito Identity ID '+ id);
                  }
              });

              var s3 = new AWS.S3();
              console.log('Creds '+ s3.config.credentials.sessionToken);
          }


        });


     }
4

1 に答える 1

0

ID ID はページのロード間でキャッシュされ、取得できます

var identityId = AWS.config.credentials.identityId;

ただし、資格情報はキャッシュされないため、毎回資格情報を取得する必要があります。

このフォーラムの投稿が役立つ場合があります: https://forums.aws.amazon.com/thread.jspa?threadID=179420&tstart=25

于 2016-08-28T01:02:10.747 に答える