2017-06-06 24 views
0

我有一个关于在我的应用程序中设计Cognito认证及其流程的问题。AWS Cognito - 返回用户 - 如何设计好

我设法登录等等。但是,当我不得不重新认证用户时(因为他们每60分钟就会过期,我们都知道)会发生很大的“痛苦”。现在我正在考虑如何为返回的用户解决这个问题。

  1. 设置一项服务,每隔59分钟重新登录用户(如果他不注销) - 在后台始终以某种方式执行此操作。 a)当应用程序打开时如何不失去它?

  2. 在SplashScreen automatical relog中设置 - 每次打开应用程序,我都会在后台重新登录(更新我的会话)。这可以在很长时间后生效,因为刷新令牌有效期为30天。在不使用应用程序30天后,我们可能会希望用户再次写下他的详细信息。但是,如何从以前的会话中获取刷新令牌?我不想将它存储在SharedPreferences或类似的东西中。

哪一个可以选择?你会给我什么建议?

预先感谢您!

Grzegorz

回答

0

当您成功进行身份验证时,是否会获得刷新令牌?访问令牌在60分钟后过期,但您可以使用刷新令牌获取新的访问令牌,而无需重新验证。

+0

嘿,我明白了,但我不确定如何使用它。我周围流传这个想法:http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html但它是正确的吗?我找不到这个代码的Java版本:/ –

+0

这是正确的方法,这些API是AWS Java SDK的一部分https://aws.amazon.com/sdk-for-java/ –

+0

is there有关它的任何教程?我有点卡住了。我也尝试过身份提供者,但这不起作用,仍然需要登录。我只想在他重新打开应用程序并在之前登录(为此我可以获得布尔型共享首选项)时自动登录用户。如何做到这一点:/我诚实地坚持我的流程。 –