Description
[REQUIRED] Step 1: Describe your environment
- Xcode version: 12.1
- macOS version: 10.15.7
- Firebase SDK version: 7.0.0
- Installation method: Swift Package
- Firebase Component: Auth
[REQUIRED] Step 2: Describe the problem
Firebase Auth is not properly shared between multiple bundles within the same app group.
I have a macOS app where the main app and a second process (in the same app bundle) share the same app group. After the main app signs in, the second process launches via SMLoginItemSetEnabled
as part of the setup process. When the second process touches Firebase Auth, a system password prompt appears to grant keychain access (for a keychain item named for my API key).
Steps to reproduce:
- Create an app that uses app groups and has a sub-bundle that runs in a second process
- Sign into Firebase with the main app (call
Auth.auth().useUserAccessGroup(AppGroupId)
first) - Launch the second process, which should call
Auth.auth().useUserAccessGroup(AppGroupId)
and listens for auth changesAuth.auth().addStateDidChangeListener({ (_, user) in ... })
Results:
Actual: Second process triggers a system keychain dialog asking for a password.
Expected: No keychain dialog should appear, since these are using a shared app group
I realize that macOS is "community supported" although this seems to be a bug that should be resolved to better support app extensions and other multiprocess use cases.