使用aws cognito的Android Facebook登录不会举行登录会话?

时间:2016-08-20 00:45:52

标签: java android facebook amazon-web-services amazon-cognito

当我成功登录Facebook后关闭我的应用程序时,有时它会在打开它后重新登录到Facebook,有时它不会?它与重新登录到登录用户非常不一致。

例如: - 我成功登录并关闭应用程序而不退出。 - 我打开应用程序备份,但它不记得我的会话,所以我没有登录。我关闭应用程序而不登录。 - 我再次打开应用程序,它神奇地记得以前的会话。

它非常不一致地打开和关闭,我不知道为什么???

2 个答案:

答案 0 :(得分:0)

Cognito android SDK不管理来自Facebook(或任何其他IdP)的令牌。但它管理aws凭据并在它们到期时自动刷新它。凭据和身份标识缓存在设备上。只要凭证有效(1小时),Cognito就不需要来自facebook的令牌,但是当凭证过期时,它需要来自Facebook的有效令牌。这可能是您看到与会话相关的行为的原因。要解决此问题,一种方法是在本地缓存Facebook令牌,并确保在应用程序恢复时调用的android活动中的CognitoCachingCredentialsProvider的登录映射中填充它。此外,您需要确保在Facebook令牌过期时刷新它。

答案 1 :(得分:0)

我解决了这个问题。

我需要做的是更新所有导入的依赖项并添加

initializeFacebookSdk();

在aws移动应用程序演示创建的SplashActivity中的onCreate中设置内容视图之前。

现在不再有问题了。