0

我的疑问是第一次使用 Facebook 帐户工具包成功登录后,我第二次重新打开该应用程序。打开时如何检测和使用现有用户访问令牌?

我尝试通过在 appdelegate 中获取 Accountkit.currentAccessToken 作为显示登录页面或欢迎页面的条件。但是 currentAccessToken 返回我为空。我还在应用设置中启用了“启用客户端访问令牌流”。请帮助了解我的方法是否正确。

 self.accountKit = AKFAccountKit (responseType: AKFResponseType.accessToken)
        if(self.accountKit.currentAccessToken != nil)
        {
            //SHOW WELCOME PAGE
        }else{
            //SHOW LOGIN PAGE
        }
4

2 回答 2

0

我已经看到 Xcode8 / iOS 10 模拟器和钥匙串保存/检索的一些问题。见https://forums.developer.apple.com/thread/60617

AccountKit 将 accessToken 安全地存储在钥匙串中,但 Xcode8 / iOS 10 模拟器上存在一个间歇性错误,导致钥匙串的读/写失败。

你能测试一下这是否也发生在设备上吗?显然,如果您将共享钥匙串权利添加到您的应用程序,问题就会消失,但这仍然是 Apple 的一个错误。

于 2016-11-15T17:25:40.127 回答
0

我在 Android 中(不是在 iOS 中)面临同样的问题,但我认为问题是相同的,因为在文档中是这样说的。

这是我使用电子邮件配置登录的代码(kotlin,用于let更改val)。

val configurationBuilder = AccountKitConfiguration.AccountKitConfigurationBuilder(
            LoginType.EMAIL,
            AccountKitActivity.ResponseType.CODE)

注意响应类型是AccountKitActivity.ResponseType.CODE

在文件中说:

如果您使用 开始登录会话AccountKitActivity.ResponseType.TOKEN,则可以使用注销选项从设备中删除存储的 AccessToken。

所以问题出在我使用的响应类型上,需要更改为AccountKitActivity.ResponseType.TOKEN以便将令牌存储在设备上。

于 2017-11-19T05:00:55.207 回答