从 iOS 容器应用与应用扩展共享 Firebase 身份验证会话

Posted

技术标签:

【中文标题】从 iOS 容器应用与应用扩展共享 Firebase 身份验证会话【英文标题】:Sharing Firebase authentication session from iOS container app with app extensions 【发布时间】:2018-01-21 08:36:43 【问题描述】:

我正在尝试使用 ios 中的共享应用程序扩展发布到我的数据库。有什么方法可以使用容器应用程序使用的相同身份验证会话?我的数据库规则当前设置为仅允许经过身份验证的用户读/写。这对于容器应用程序来说很好,因为在那里进行身份验证并设置了会话。但是,我希望能够从 iOS 的 Share 表中添加到数据库中,并且 Apple 不允许在容器应用程序和应用程序扩展之间更改太多信息。我可以在 UserDefaults 组中存储一些良性数据,但我不想在其中存储任何敏感信息(例如用户登录详细信息)。我一直在寻找一种方法来做到这一点,而不会让我的数据库对外界开放。我会欢迎任何建议或指点。

【问题讨论】:

【参考方案1】:

不确定我是否正确理解您的问题,但您可以使用共享钥匙串而不是使用 AppGroups 的 UserDefaults

https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps?language=objcenter link description here

【讨论】:

以上是关于从 iOS 容器应用与应用扩展共享 Firebase 身份验证会话的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 7.3,共享扩展,似乎无法将数据从扩展传递到容器应用程序

如何与 iOS 扩展共享 Parse 登录会话?

iOS 扩展 - 检测“扩展状态更改”(背景/前景)

从 iOS Safari 共享扩展打开主应用程序

iOS 共享扩展流程

在应用扩展和容器应用之间共享数据