gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:02 25 4
gpt4 key购买 nike

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

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

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

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

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

  3. 或者 Firebase 提供一些方法,

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

最佳答案

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com