Я читал о том, как обновить сеанс Cognito через 1 час, и еще не получил окончательного ответа от команды aws или кого-либо еще.Как вы получаете новые токены после того, как сеансы истекли без повторной аутентификации, то есть пользователь должен снова войти в систему (введите свои пароль / учетные данные электронной почты).
В классе CognitoCachingCredentialsProvider
существует метод refresh()
, который, я считаю, обновляет сессию.Однако после этого вызывается как вы получаете новые токены (idToken
/ accessToken
/ refreshToken
)?В моем случае для refreshToken
установлено максимальное время истечения, которое составляет около 10 лет.
Единственный способ получить новые токены, как я делал до сих пор, - это аутентификация пользователя, когда пользователь входит в систему.где cognitoUser.getSessionInBackground(authenticationHandler)
называется.Этот интерфейс предоставляет токены, полученные из CognitioUserSession
.Для моего приложения, в частности, очень неэффективно предлагать пользователю войти в систему, используя свой пароль каждый раз через 1 час.
Я хотел бы добавить еще одну вещь, возможно ли получить новые токены послеidToken
и accessToken
истекли?Глядя на необработанный код aws cognito, я не видел интерфейса, обеспечивающего это вне входа пользователя в систему, несмотря на то, что говорится в документации.