我正在开发适用于 iOS 和 Android 的 Unity 项目。我们使用 Parse 作为后端服务,并希望允许用户通过 Facebook 登录到他们的 Parse 帐户。
我正在使用:Parse Unity SDK (v1.2.12)、Facebook Unity SDK (v4.3.6) 和 Unity (v4.3.2f1)
我有一个 Parse 后端正在运行,并且我已经按照他们的文档中的描述设置了我的 facebook 应用程序。所以我创建了一个 Parse 用户 (ParseUserA),并创建了一个 facebook 测试用户 (FacebookUserA)。通过我的 Unity 项目的 iOS 构建,我能够将 FacebookUserA 链接到 ParseUserA,并且从此时开始,FacebookUserA 的 accessToken 可以按预期登录该用户。这行得通,但有一个问题。
现在 FacebookUserA 的妹妹 (FacebookUserB) 想试试这个游戏。但是,她当然希望拥有自己的后端用户。这应该不是问题,因为可以通过 facebook 创建新的 Parse 用户。但问题是我的 iOS 设备已经有 FacebookUserA 的 accessToken,只要它认为有效,它就会坚持使用这个 accessToken。
我在我的 iOS 设备上访问了 facebook.com(我的设备上没有任何 Facebook 应用程序),然后我将测试用户 FacebookUserA 注销。然后我用我的另一个测试用户 FacebookUserB 登录。然后我启动了我的统一应用程序,它仍然使用 FacebookUserA 的 accessToken 获取 ParseUserA 信息,尽管 FacebookUserB 现在是在设备上登录到 Facebook 的人。
我知道我仍然拥有 FacebookUserA 的 accessToken,但我如何才能检查该用户实际上是否仍然在我的设备上登录到 Facebook?如果访问令牌的所有者不再登录到 facebook.com,我不想使用 facebook 自动登录。当然,如果另一个用户在设备上登录到 facebook,当尝试使用 FacebookUserA 的访问令牌时,该 accessToken 应该变得无效、被破坏或类似的东西。
更新:我可能会补充说,我从一个似乎找到解决方案的人那里找到了这篇文章。我想我明天可能会在那个帖子里问,如果这里没有人有好的建议。http://parse.com/questions/how-to-invalidate-a-facebook-access-token此外,一两次谷歌搜索表明这是很多人遇到的问题。我在这里发布的链接最接近我发现的有用的东西。任何理解它的帮助将不胜感激。
另外,我发现这在我看来是同样的问题。我不知道说要调查的人是谁,但那是 v4.3.4 并且我正在使用 v4.3.6 .. 所以我想这有可能只是一个没有尚未解决。不过,如果有人有信息或想法,我很乐意听到。 Unity Facebook SDK 4.3.4 - 未为以前的用户清除 AccessToken 和登录状态