Я использую CognitoCachingCredentialsProvider
для подключения моего приложения Android к сервисам AWS с использованием пользовательских пулов в сотрудничестве с федеративными удостоверениями.
После того, как я войду в систему, все будет работать нормально, пока приложение не закроется (или, возможно, до истечения сеанса).Но когда я закрываю и снова открываю приложение, я получаю Unauthorized access
ошибки при попытке получить доступ к своим сервисам AWS.Я подумал, что, возможно, вызов refresh
на CognitoCachingCredentialsProvider
исправит это, предполагая, что это сеанс с истекшим сроком действия;но когда я это делаю, я получаю NotAuthorizedException: Access to Identity [one of the Identities in the Federated Identities Identity browser] is forbidden.
. При дальнейшем исследовании getCachedIdentityId
возвращает значения, когда я этого ожидаю, поэтому этот вопрос не сильно поможет;но CognitoCachingCredentialsProvider.getLogins
всегда пуст при перезапуске.
Может ли пустой логин быть тем, что мешает обновлению?Если так, как я могу заставить их сохраняться при перезапуске приложения?Если нет, то как мне обновить токены при необходимости?
В конечном счете, как использовать CognitoCachingCredentialsProvider
для достижения моей конечной цели - не требовать, чтобы пользователь входил в систему каждый раз при повторном открытии приложения?