繁体   English   中英

iOS Facebook帐户工具包-成功登录后第二次打开应用程序时保持用户令牌

[英]iOS Facebook Account kit - Persist user token when app is opened 2nd time after successful login

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

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

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

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

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

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

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

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

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

请注意,响应类型为AccountKitActivity.ResponseType.CODE

在文件中说:

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

因此,问题出在我使用的Response类型上,需要将其更改为AccountKitActivity.ResponseType.TOKEN才能使令牌存储在设备上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM