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);
}
});
}