当 Facebook 为用户提供更新的令牌并且我们已经拥有该用户的用户连接记录时,是否会创建新的用户连接记录,或者该用户的用户连接记录是否仅使用新令牌进行更新?
基本上,这里发生的情况是,他们使用的每个设备都会创建一个新的不同 Facebook 令牌,而不是当前存储在 Spring Social 的 userconnect db 表中的令牌。因此,它调用了我们编写的 ConnectionSignUp 实现,它现在为我们的应用程序创建了一个新的 Our App User,而不是看到它是同一个 Facebook 用户并在我们的应用程序中使用同一个 App 内部用户。
AccountSecurity accountSecurity = accountService.newUserGenerator(newUserName, username, userProfile.getFirstName(),
userProfile.getLastName(), userProfile.getEmail())
太平洋标准时间 12 年 5 月 14 日下午 4:09 更新:似乎是的,两个不同的“设备”将获得不同的访问令牌。Spring Social 将只使用 providerid 和 userproviderid 并“看到”它们是同一个帐户,并且在这种情况下不会通过调用 ConnectionSignUp execute() 方法来创建新用户。
但是,当 Facebook 认为它是完全相同的应用程序(Flash 与 iOS 应用程序,但在 Facebook 中定义为一个应用程序)和完全相同的用户帐户(我的)时,似乎并没有发回相同的 userproviderid。Facebook 应该发送相同的 userproviderid。