Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vidline wants to access key "com.firebase.FiRInstallations.installations.1:19 312161103:ios:513816e35120d976bf153a" in your keychain. #9392

Closed
Tang-Hai opened this issue Feb 25, 2022 · 14 comments · Fixed by #10181
Assignees

Comments

@Tang-Hai
Copy link

How to stop this popup from appearin !!!

34241645540838_ pic
g

@google-oss-bot
Copy link

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

@paulb777
Copy link
Member

Do the suggestions in #8335 or #8950 help?

@Tang-Hai
Copy link
Author

#8335或#8950中的建议有帮助吗?

I don't understand how to modify it, are there any detailed steps to modify it?

@ncooke3
Copy link
Member

ncooke3 commented Feb 28, 2022

Hi @Tang-Hai,

Sorry for the trouble. The steps for #8335 are to ensure that your project is properly signed and has the enabled the "Keychain Sharing" capability. Here's a Stack Overflow answer with instructions on how to enable keychain sharing.

If the above advice does resolve the issue, I have three follow-up questions to help the team better understand the problem:

  • What version of Firebase is being used in your project?
  • What Firebase products are being used?
  • What platforms are you seeing this on? (macOS or macCatalyst or both?)

Thanks!

@Tang-Hai
Copy link
Author

Tang-Hai commented Mar 5, 2022

嗨@唐海,

抱歉,添麻烦了。#8335的步骤是确保您的项目已正确签名并启用了“钥匙串共享”功能。这是一个Stack Overflow 答案,其中包含有关如何启用钥匙串共享的说明。

如果上述建议确实解决了问题,我有三个后续问题可以帮助团队更好地理解问题:

  • 您的项目中使用的是哪个版本的 Firebase?
  • 正在使用哪些 Firebase 产品?
  • 你在什么平台上看到这个?(macOS 或 macCatalyst 或两者兼而有之?)

谢谢!

It still pops up, I read in the firebase documentation that macos are supported.
I am using Analytics , Crashlytics these features.
Can you help me with the popup issue?

@denismullaraj
Copy link

denismullaraj commented Mar 16, 2022

I'm having the same issue:
popup-access-firebase

I get this popup twice for everytime user opens the app.

I'm distributing with TestFlight a macOS App, first time no popup because I:

  • introduced the kSecUseDataProtectionKeychain: true to my current keychain implementation queries in my project
  • added to macOS.entitlements this definition:
	<key>keychain-access-groups</key>
	<array>
		<string>$(AppIdentifierPrefix)*</string>
	</array>

MacOS Entitlements is basically this:
Screenshot 2022-03-16 at 17 36 55

But when I distribute an update - without any code change, the two popups comes out. One is for FIRInstallation... and another one is named after my Bundle Identifier - both popup are for giving permission to access keychain. Every time user opens the app they have to give permission to access keychain.

If I remove in my project this FirebaseApp.configure() - then I don't have anymore the issue and I don't see two items in my keychain created by Firebase (one as of "FIRInstallation..." and the other named as of my app Bundle Identifier). I can share a screenshot of the one of the two items, the one called "com.firebase.FIRInstallations...":
keychain-firebase

What I'm trying to say is that FirebaseApp.configure(), when the macOS app is launched, creates two items in the user macOS Keychain two entries in "Login" and as well introduces two popups to access those two items in the keychain everytime the user opens the app.

PS: The keychain login item in my keychain named as my Bundle Identifier is not a result of the keychain implementation in my project. Because, as I said, if I remove FirebaseApp.configure() I don't see it when I install the app and run it. Also my keychain implementation uses a different name for storing things such as apitokens etc...

For @ncooke3 :

What version of Firebase is being used in your project?

8.9.1 and tried also with 8.11 (problem persists)

What Firebase products are being used?

Analytics and Crashlytics

What platforms are you seeing this on? (macOS or macCatalyst or both?)

macOS

Firebase team, we need help here :D

@Tang-Hai
Copy link
Author

我有同样的问题: 弹出访问火力基地

每次用户打开应用程序时,我都会两次弹出此弹出窗口。

我正在使用 TestFlight 分发一个 macOS 应用程序,第一次没有弹出窗口,因为我:

  • 在我的项目中介绍了kSecUseDataProtectionKeychain: true我当前的钥匙串实现查询
  • 在 macOS.entitlements 中添加了这个定义:
	<key>keychain-access-groups</key>
	<array>
		<string>$(AppIdentifierPrefix)*</string>
	</array>

MacOS 权利基本上是这样的: 截图 2022-03-16 at 17 36 55

但是当我发布更新时 - 没有任何代码更改,两个弹出窗口就会出现。一个用于 FIRInstallation...,另一个以我的 Bundle Identifier 命名 - 两个弹出窗口都用于授予访问钥匙串的权限。每次用户打开应用程序时,他们都必须授予访问钥匙串的权限。

如果我在我的项目中删除这个FirebaseApp.configure()- 那么我就没有问题了,而且我在 Firebase 创建的钥匙串中看不到两个项目(一个是“FIRInstallation ...”,另一个是我的应用程序包标识符)。我可以分享两个项目之一的屏幕截图,一个名为“com.firebase.FIRInstallations ...”的项目: 钥匙串火力基地

我想说的是,当启动 macOS 应用程序时,FirebaseApp.configure() 在用户 macOS 钥匙串中创建两个项目,在“登录”中创建两个条目,并引入两个弹出窗口来访问钥匙串中的这两个项目每次用户打开应用程序。

PS:我的钥匙串中名为我的包标识符的钥匙串登录项​​不是我项目中钥匙串实现的结果。因为,正如我所说,如果我删除 FirebaseApp.configure() 我在安装应用程序并运行它时看不到它。此外,我的钥匙串实现使用不同的名称来存储诸如 apitokens 之类的东西......

对于@ncooke3

您的项目中使用的是哪个版本的 Firebase?

8.9.1 并尝试使用 8.11(问题仍然存在)

正在使用哪些 Firebase 产品?

分析和崩溃分析

你在什么平台上看到这个?(macOS 或 macCatalyst 或两者兼而有之?)

苹果系统

Firebase 团队,我们在这里需要帮助 :D

Hi, is your problem solved? Are there alternatives?

@denismullaraj
Copy link

@Tang-Hai No unfortunately I haven't been able to solve it myself. I tried everything I could the keychain access group, the kSecUseDataProtectionKeychain flag... that only seems to solve issues on my side of the Keychain Usage. Not on the Firebase library. That's the reason I'm waiting for Firebase to give us more indication or guide us how we can get rid of it.

@DesmanLead
Copy link

Is it possible to use something except the keychain on macOS to store the identifier?
We'd like to opt-out from using the keychain.

@ncooke3
Copy link
Member

ncooke3 commented Aug 18, 2022

I wanted to leave a quick update here: we have been investigating the issue and are currently working on a solution.

I will share an another update soon– thank you for everyone's patience!

@Tang-Hai
Copy link
Author

I wanted to leave a quick update here: we have been investigating the issue and are currently working on a solution.

I will share an another update soon– thank you for everyone's patience!

Really looking forward to your update

@tommienu
Copy link

tommienu commented Sep 6, 2022

Sorry for the bump, but do we have an update on this topic? It's currently blocking any macOS release with Firebase.

@ncooke3
Copy link
Member

ncooke3 commented Sep 6, 2022

Hi everyone (and thanks for the bump @tommienu),

tldr; We identified a solution and have been working to get the fix out in the next release, Firebase 9.6.0. Currently, this release is scheduled to be released next week. 🎉

From Firebase 9.6.0 onward, macOS targets depending on Firebase should be signed with a provisioning profile that has the Keychain Sharing capability enabled. This will be mentioned in the release notes and documentation.


A little background behind the above requirement:

The reason that the Keychain Sharing capability is needed is because in order to make the permission pop-ups go away, the macOS keychain has to be configured to treat items like the iOS-style keychain. The iOS-style keychain doesn't request access from the user because iOS apps have a sandbox to freely interact with their designated portion of the keychain. To replicate this behavior on macOS, we had to make a code change to tell the macOS keychain to treat interactions like that on iOS (this is what is being released in Firebase 9.6.0). However, this change alone is not enough as macOS needs to know that a Mac app has access to modify its own items. Only you, the developer, can give official authorization. Therefore, macOS targets that depend on Firebase need to be signed with a provisioning profile that has the Keychain Sharing capability enabled. Together, the keychain pop-ups will go away as the system will know exactly what keychain items your Mac app has permission to modify.

And, in case it is not clear, these changes only apply to macOS targets using Firebase. Non-macOS apps will not require any action.

@ncooke3
Copy link
Member

ncooke3 commented Sep 13, 2022

Hi everyone,

Just a quick fyi that Firebase 9.6.0 has been released. Please give it a go and let us know if you run into any trouble!

As noted in above post and in the release notes, please enable the Keychain Sharing capability for your macOS targets to make sure everything works properly.

Thanks!

@firebase firebase locked and limited conversation to collaborators Oct 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants