从 iOS Facebook 2.x -> 3.x 迁移时如何避免用户注销

2024-05-01

将 Facebook iOS 集成从 2.x SDK 升级到 3.x SDK 会自动注销之前登录的用户,因为我们过去必须手动处理的身份验证凭据现在由新的 SDK 在幕后处理。 SDK。

有没有办法强制 3.x SDK 使用我们之前手动存储的访问令牌和到期日期进行身份验证,作为一次性身份验证迁移?

提前致谢!


终于想通了。该解决方案涉及使用FBSessionToken缓存策略 http://developers.facebook.com/docs/reference/ios/3.0/class/FBSessionTokenCachingStrategy/他们提供的对象,特别是FBSessionManualTokenCachingStrategy https://github.com/facebook/facebook-ios-sdk/blob/master/src/FBSessionManualTokenCachingStrategy.h:

if (isUserUpgrading) {
   FBSessionTokenCachingStrategy *strategy = [[[FBSessionManualTokenCachingStrategy alloc] initWithUserDefaultTokenInformationKeyName:nil] autorelease];
   strategy.accessToken = [[NSUserDefaults standardUserDefaults] stringForKey:@"FBSessionToken"];         // use your own UserDefaults key
   strategy.expirationDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"FBSessionExpiration"]; // use your own UserDefaults key
   FBSession *session = [[[FBSession alloc] initWithAppID:@"MY_APP_ID"                                    // use your own appId
                                              permissions:nil
                                          urlSchemeSuffix:nil
                                       tokenCacheStrategy:strategy] autorelease];
   [FBSession setActiveSession:session];
} else {
   [FBSession openActiveSessionWithReadPermissions:...];  // normal authentication
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 iOS Facebook 2.x -> 3.x 迁移时如何避免用户注销 的相关文章

  • 更新到 PHP 5.3,禁用不推荐使用的函数警告

    我非常渴望将我们的一些服务器更新到 PHP 5 3 这将为 Zend Framework 2 以及明显的性能更新做好准备 不幸的是 我在这些服务器上有大量遗留代码 这些代码会及时修复 但在迁移之前无法全部修复 我正在考虑更新但禁用除少数开发
  • 将基于标签栏的 iPhone 项目迁移到 iPad

    像许多其他开发人员一样 我创建了使用UITabBarController作为根控制器 选项卡视图使用UINavigationController从列表深入到详细视图 和许多其他开发人员一样 我需要将这些应用程序迁移到 iPad 以便它们利用
  • 尝试 rake db:migrate 时未在 Rails 项目中选择数据库

    使用 Rails 应用程序 遇到某种奇怪的数据库 rake 问题 当我执行时 rake db migrate 我收到以下错误 Mysql2 Error No database selected SHOW TABLES See full tr
  • SDK 3.1:如何判断SDK是否使用iOS6账号?

    如果我在 iOS6 中设置了 Facebook 帐户 但用户已将其关闭 则 SDK 只会向我提供 FBSessionStateClosedLoginFailed 状态 由此 我无法判断用户是否在 iOS 中关闭了我们的服务 情况 1 或者没
  • 如何让 Doctrine 正确处理 ENUM?

    在一个应用程序中我有一个案例类表继承 https www doctrine project org projects doctrine orm en 2 6 reference inheritance mapping html class
  • 如何将 Maven 包从 Nexus 迁移到 Azure Artifacts

    我正在尝试将构建包从本地 Nexus Repository Manager 迁移到 Azure Artifacts 我找到了这个微软链接 https learn microsoft com en us azure devops artifa
  • 遗留代码中的泛型

    我们有相当多的代码刚刚跳转到 Java 5 我们一直在那些打算在 Java 5 版本中发布的组件中使用泛型 但是剩下的代码当然充满了原始代码类型 我已将编译器设置为生成原始类型错误并开始手动清除它们 但按照目前的速度 这将需要very很长时
  • 将时间戳添加到 db Rails 5+ 中的现有表

    尝试将时间戳添加到现有表中 根据API文档添加时间戳 https apidock com rails ActiveRecord ConnectionAdapters SchemaStatements add timestamps 这是我的迁
  • FacebookDisplayName 有何用途?

    我们目前正在更改使用 Facebook SDK 进行登录的应用程序的名称 实际上没有其他任何操作 这意味着对于未更新的用户 Facebook 应用程序的名称将与FacebookDisplayName 在我的测试过程中 我找不到对价值的任何影
  • 在程序集“”中发现了不止一种迁移配置类型。指定要使用的名称。关于添加迁移

    在包管理器控制台中 我正在尝试更新我的数据库 当我输入这个命令时 add migration Migration1 我明白了 在程序集中发现了不止一种迁移配置类型 我的项目 POCO 指定要使用的名称 我用谷歌搜索了这个错误 我得到了这个
  • 将模型引用添加到现有 Rails 模型

    我想知道在两个之间添加关系的 正确 方法existingRails 3 中的类 给定现有模型 小丑和兔子 我想添加从兔子到小丑的引用 belongs to 我首先尝试生成迁移 rails g migration AddClownToRabb
  • Ruby on Rails:如何使用迁移向现有列添加非空约束?

    在我的 Rails 3 2 应用程序中 我的数据库中有一堆表 但我忘记添加一些非空约束 如何编写将 not null 添加到现有列的迁移 您还可以使用更改列空 http api rubyonrails org classes ActiveR
  • 定义 Rails 迁移中的方法

    我试图在迁移中定义一个方法 但出现未定义的方法错误 undefined method do something specific for
  • TFS2012错误的用户丢失工作区

    我的 TFS2012 有一个非常不寻常的问题 我们刚刚跨域迁移并从 TFS2010 升级到 TFS2012 一切似乎都与一个用户无关 我们似乎无法让他的工作空间正常工作 当我连接到 TFS 服务器时 我输入服务器名称和端口号 这会连接 但在
  • 如何将字符串列更改为 bigint?

    在轨道迁移中 如何将字符串类型列更改为 bigint I have t change ip number from integer limit gt 8 I get PG Error ERROR column ip number from
  • 将源代码从 git 迁移到 TFVC

    我们使用的是Visual Studio Online 我们使用TFS的git支持 我们现在想停止使用 git 并使用 TFVC 将源代码迁移到 TFVC 的最佳解决方案是什么 假设您正在 VSO 中创建另一个项目并移动源代码 按照目前的情况
  • Visual Studio 项目的依赖关系图

    我目前正在将一个大型解决方案 约 70 个项目 从 VS 2005 NET 2 0 迁移到 VS 2008 NET 3 5 目前我有 VS 2008 NET 2 0 问题是我需要将项目一一移动到新的 NET 框架 确保没有 NET 2 0
  • Django migrate:不创建表

    经过一些错误后 我删除了数据库 删除了所有迁移文件 我留下了init py 现在 当我跑步时 python migrate py makemigrations It creates migrations correctly python m
  • 是否可以从数据库转储生成 knex 种子文件?

    就我而言 我使用的是 mysql 但是 我正在寻找一种通用解决方案 用于从当前运行的数据库或数据库转储生成 knex 种子文件 我可以就像是 https github com tgriesser knex issues 944 issuec
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量

随机推荐