Я аутентифицируюсь через Cognito в браузере на стороне клиента, используя идентификацию, аутентифицированную разработчиком. Когда моя страница загружается (или обновляется), я бы хотел, чтобы мое приложение запоминало Идентичность до тех пор, пока срок действия объекта не истек (думаю, он длится около часа). Однако я не знаю, как получить удостоверение из Cognito без необходимости повторной проверки подлинности разработчика.
Вот что делает код при загрузке страницы:
var cognitoCredentials
$(document).ready(function() {
"use strict";
cognitoParams = {
IdentityPoolId: 'us-east-1:xxxxxxx'
};
cognitoCredentials = new AWS.CognitoIdentityCredentials(cognitoParams);
AWS.config.credentials = cognitoCredentials;
});
И после входа в систему через аутентификацию разработчика:
cognitoCredentials.params.IdentityId = output.identityId;
cognitoCredentials.params.Logins = {
'cognito-identity.amazonaws.com': output.token
};
cognitoCredentials.expired = true;
Если я уже вошел в систему, а затем обновил страницу и попытался снова войти в систему, я получаю сообщение об ошибке, что я пытаюсь получить удостоверение личности, когда у меня уже есть
Error: Missing credentials in config(…) NotAuthorizedException: Missing credentials in config
"Access to Identity 'us-east-1:xxxxxxx' is forbidden."
Тем не менее, я не знаю, как получить к нему доступ. Как получить учетные данные, чтобы при обновлении страницы я мог обнаружить предыдущую идентификационную информацию, заданную Cognito?