为什么我不能为 google oAuth 添加允许 redirect_url 的 firebase 动态 url?

Why can't I add firebase dynamic url as allowed redirect_url for google oAuth?

我正在开发一个基于 react-native 的项目,其中 google 令人沮丧地难以在不使用 SDK 的情况下实施他们的 oAuth。

首先,WebView是不允许oAuth的。所以我尝试通过普通浏览器/chrome 选项卡实现它,其中重定向是我的应用程序 ID,如 com.myCompany.myApp 但是当我将其添加为允许的 oAuth 重定向 url 我在 google 云控制台,这不是基于 Web 的项目的有效重定向 ID。

然后我尝试使用 firebase 动态链接对其进行设置,但是当我保存更改时出现 Request contains an invalid argument.

错误

您不能使用它,因为您的应用程序 ID 无效 URI

This is the path in your application that users are redirected to after they have authenticated with Google. The path will be appended with the authorization code for access. Must have a protocol. Cannot contain URL fragments or relative paths. Cannot be a public IP address.

您无法重定向到应用程序 ID,因为无法知道重定向应该去哪里。以下是有效的重定向 URI

http://test.example.com/index.php
http://localhost:38898/signin-google

不同类型的 OAuth 密钥有不同的重定向要求和最佳做法。太多了,无法一一列举,请看这个documentation.

一般来说,如果它是已安装的应用程序或移动应用程序,则重定向 URI 并不那么重要,因为您只是重定向回应用程序。但是,对于基于 Web 的应用程序 OAuth 密钥,您需要非常小心重定向,因为它带有您的访问令牌。您可以阅读更多关于 redirect URIs 的内容,看看什么是合适的 URI。

基本上 Google 确保您的 URI 看起来适合您的 OAuth 密钥类型,否则它会拒绝它。