Получение идентификатора Cognito Identity ID, когда я нахожусь на другой странице
Я смог успешно войти в систему пользователя, который использовал Facebook для проверки подлинности. Это работало нормально, и страница была перенаправлена на другую страницу, как и ожидалось. Код приведен ниже.
У меня вопрос, как я могу получить идентификатор пользователя (или Cognito Identity 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);
}
});
}
1 ответ
Идентификационный идентификатор кэшируется между загрузками страниц, и вы можете получить его
var identityId = AWS.config.credentials.identityId;
Однако учетные данные не кэшируются, и вам нужно будет каждый раз получать учетные данные.
Это сообщение на форуме может помочь: https://forums.aws.amazon.com/thread.jspa?threadID=179420&tstart=25