• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在主 iOS 应用程序与其共享扩展之间使用相同的经过身份验证的用户 token

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:50:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我们的主应用与 Firebase SDK 集成。用户使用电子邮件、谷歌或 Facebook 通过主应用程序登录。

现在,我们实现了共享扩展,理想情况下应该在内部共享相同的身份验证 session ,以便可以在 Firebase 上与同一用户发送数据,而无需要求他通过扩展再次登录。

那么,有人知道在主应用和共享扩展之间共享 Firebase 身份验证 session 的方法吗?

  1. 我们向主应用发送了一些内部调用以执行 Firebase 内容,因为其中包含身份验证详细信息。

  2. 主应用通过应用组将一些 token 设置为普通用户默认值,然后共享扩展程序将使用这些 token 自动重新进行身份验证。

  3. 或者 Firebase 提供了一些方法来做到这一点,

我不知道从上面什么是可行的。 我找到了一个方法 signInWithCustomToken:completion: 但是,它与我实际查找的内容无关。



Best Answer-推荐答案


要从同一组 NSUserDefaults 中读取和保存,您需要执行以下操作:

  1. 在您的主应用中,在项目导航器中选择您的项目。
  2. 选择您的主要应用目标并选择功能选项卡。
  3. 打开应用组(这将与开发者门户进行通信,因为它正在生成一组权利和相关的应用 ID 等 第四次)。
  4. 创建一个新容器。根据帮助,它必须启动 加上“group.”,所以给它起一个名字,比如“group.myapp.test”。
  5. 选择 您的 Today Extension 目标并重复此开启过程 应用程序组。不要创建一个新的,而是选择这个新创建的 group 表示 Today Extension 是该组的成员。

写入您的 NSUserDefaults:

    // In this example I´m setting FirstLaunch value to true 
NSUserDefaults(suiteName: "group.myapp.test")!.setBool(true, forKey: "FirstLaunch")

从 NSUserDefaults 读取:

// Getting the value from FirstLaunch
let firstLaunch = NSUserDefaults(suiteName: "group.myapp.test")!.boolForKey("FirstLaunch")

if !firstLaunch  {
   ...
}

关于ios - 如何在主 iOS 应用程序与其共享扩展之间使用相同的经过身份验证的用户 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44455433/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap