我想测试Facebook用户的访问令牌已过期的代码路径,我需要更新令牌.我注意到访问令牌在创建后2个月到期.我不想等待2个月来测试该代码路径,所以我想要一种方法来模拟这个过期.如果我从未测试过以下谜团的情况,我害怕我的代码会崩溃:
[FBSession openActiveSessionWithReadPermissions:permArray allowLoginUI:NO completionHandler:someFunction]
以静默方式重新连接过去已连接的Facebook用户.请注意allowLoginUI是如何NO.允许用户重新登录和续订令牌是否必须为YES,或者令牌是否可以静默更新?FBSessionStateOpen
和FBSessionStateOpenTokenExtended
.当令牌扩展时,状态机是否保持在令牌扩展状态,还是会进入扩展状态然后立即进入打开状态?我需要知道状态转换,所以我不会运行两次处理程序.[FBSession activeSession].accessToken
成为零或者它依然如旧过期的令牌?[FBSession activeSession].expirationDate
:是零,旧的到期日期,还是自动成为新的到期日期?要使令牌过期,最简单的方法是登录计算机上的FB,转到App Center,单击"我的应用程序",然后单击应用旁边的小X来删除您的应用.这将导致令牌变为"过期".一旦发生这种情况,您无法在没有用户交互的情况下自动续订令牌.您必须重新打开身份验证UI,用户必须单击"允许"
关于你的问题:
allowLoginUI必须为YES.如果令牌过期,则用户必须先与UI进行交互才能获得新令牌,并将其设置为"否"将使其无声地失败.
我相信TokenExtended状态只会在扩展当前活动的令牌时发生.如果用户在2个月期限结束之前使用您的应用,则FB SDK会自动为您定期延长令牌.这与更新过期的令牌不同.虽然不是100%肯定,因为我还没有测试过这种状态.
归档时间: |
|
查看次数: |
4680 次 |
最近记录: |