FirebaseAuth - 来自此 Android 客户端应用程序 <empty> 的请求被阻止

Leo*_*Leo 7 android oauth firebase firebase-authentication

https://firebase.google.com/docs/auth/android/apple

我们已经在 Android 上开发了 Sign in with Apple 并确认它可以正常工作。

但是,如果 API 密钥在 Google Cloud Console 中仅限于 Android,则不会出现以下错误。

com.firebase.ui.auth.FirebaseUiException: An internal error has occurred. [ Requests from this Android client application <empty> are blocked. ]
        at com.google.firebase.auth.api.internal.zzdv.zza(com.google.firebase:firebase-auth@@19.2.0:18)
        at com.google.firebase.auth.internal.zzal.onReceive(com.google.firebase:firebase-auth@@19.2.0:32)
        at androidx.localbroadcastmanager.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:313)
        at androidx.localbroadcastmanager.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:121)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7770)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)
Run Code Online (Sandbox Code Playgroud)

An internal error has occurred. [ Requests from this Android client application <empty> are blocked. ]

如果 API 密钥设置为无,则一切正常。

是否应取消 API 密钥限制以应用 Apple 等 OAuth 身份验证?

或者还有什么我错过的吗?

供您参考,我在Identitytoolkit.getProjectsAPI 中发现了 403 错误。

Firebase 身份验证:来自此 Android 客户端应用程序 com.xxx 的请求被阻止

我已经多次看到上面的讨论。但这不是解决方案,因为添加或删除签名会自动解除 API Key 限制。

我不认为这不是 SHA-1 签名问题,因为使用相同 API Key 的其他 API 没有问题。

我在https://github.com/firebase/FirebaseUI-Android 上用演示项目对其进行了测试,但发生了同样的问题。

当 API Key 仅限于 Android 时,我不知道如何使用 Apple 进行身份验证才能正常工作

Rin*_*cha 9

如果您使用的是 Google Play App Signing,只需登录 Firebase,进入“项目设置”->“集成”,然后按一个按钮将 Google Play 与 Firebase 关联,SHA-1 将自动添加。下载并更改您的新 google-services.json

如果您仍然遇到问题,请转到 Google Cloud API,单击左上角的汉堡图标 -> API 和服务 -> 凭据。选择您正在使用的 API 密钥。在限制下,选择“无”。

  • 通过将 API 密钥限制选择为“无”,它对我有用,但这不是一个好的解决方案。 (6认同)