我正在开发适用于iOS和Android的Unity项目。我们使用Parse作为后端服务,并希望允许用户通过Facebook登录他们的Parse帐户。
我正在使用: 解析Unity SDK(v1.2.12), Facebook Unity SDK(v4.3.6)和 团结(v4.3.2f1)
我有一个Parse后端正在运行,我已经按照文档中的描述设置了我的facebook应用程序。所以我创建了一个Parse用户(ParseUserA),并且我创建了一个facebook测试用户(FacebookUserA)。通过我的Unity项目的iOS构建,我能够将FacebookUserA链接到ParseUserA,从这一点开始,FacebookUserA的accessToken可以按照预期将该用户登录。这有效,但有一个问题。
现在FacebookUserA的姐姐(FacebookUserB)想尝试游戏。然而,她当然希望拥有自己的后端用户。这不应该是一个问题,因为可以通过Facebook创建一个新的Parse用户。但问题是我的iOS设备已经有了一个用于FacebookUserA的accessToken,并且只要它被认为是vaild就坚持使用这个accessToken。
我在我的iOS设备上访问了facebook.com(我在这个设备上没有任何Facebook应用程序)并且我将我的测试用户FacebookUserA记录下来了。然后我和我的其他测试用户FacebookUserB一起登录。然后我启动了我的Unity应用程序,它仍然使用accessUoken for FacebookUserA获取ParseUserA信息,尽管FacebookUserB现在是在设备上登录facebook的人。
我知道我仍然拥有FacebookUserA的accessToken,但是如何检查该用户是否仍然在我的设备上登录到facebook?如果访问令牌的所有者不再登录到facebook.com,我不想使用Facebook自动登录。当然,如果另一个用户登录到设备上的Facebook,当试图使用FacebookUserA的访问令牌时,那个accessToken应该变得无效,被破坏或者沿着这些线路。
更新: 我可能会补充一点,我发现这个帖子来自一个似乎他可能找到解决方案的人。我想我明天可能会问这个问题,如果这里没有人有好的建议。 http://parse.com/questions/how-to-invalidate-a-facebook-access-token此外,Google或一两个搜索表明这是很多人都遇到过的问题。我在这里发布的链接最接近我找到的有用的东西。理解它的任何帮助将不胜感激。
另外,我发现这对我来说就像是同一个问题。我不知道那个说它会被调查的人是谁,但那是v4.3.4我正在使用v4.3.6 ..所以我猜它有可能只是一个没有的bug尚未解决。如果有人有信息或想法,我会很高兴听到它。 Unity Facebook SDK 4.3.4 - AccessToken and Login Status not cleared for previous user
答案 0 :(得分:0)
您可以从Unity SDK调用FB.Logout()。这将删除设备上的缓存访问令牌。
答案 1 :(得分:0)
我找到切换用户的唯一方法如下。 此方法仅对那些只需要切换用户进行调试的人有用。
这是我遵循的步骤,实际上对我有用。