更改 firebase google auth 提供商的显示名称

问题描述 投票:0回答:3

我正在尝试在 AuthO 弹出窗口上显示我的网站名称。 Facebook、Twitter 或 GitHub 身份验证没有问题。但 Google 的弹出窗口不断显示“登录以继续访问 projectName.firebase.com”,而不是“example.com”。 我的意思是它显示 firebase 的默认域而不是自定义域。

即使我将显示名称更改为

console.developers.google.com
中的某个自定义名称。

google-app-engine firebase
3个回答
14
投票

在最新版本的 Firebase 用户指南中,他们解释了如何解决此问题,方法是将

authDomain
初始化属性指向您的域,并进行一些其他准备工作:https://firebase.google.com/docs/auth/web /google-signin#自定义用于 google-sign-in 的重定向域

  1. 为您的自定义域创建一条 CNAME 记录,该记录指向 firebaseapp.com 上项目的子域:
    auth.custom.domain.com CNAME my-app-12345.firebaseapp.com
  2. 将您的自定义域添加到 Firebase 控制台中的授权域列表中:
    auth.custom.domain.com
  3. 在 Google 开发者控制台或 OAuth 设置页面中,将重定向页面的 URL 列入白名单,该 URL 可在您的自定义域中访问:https://auth.custom.domain.com/__/auth/handler
  4. 初始化 JavaScript 库时,使用
    authDomain
    字段指定您的自定义域

更新:说明中缺少的一个重要细节是必须为 Firebase 托管配置自定义身份验证域(即将其添加到 Firebase 控制台上用于托管的自定义域列表中)。否则,您将收到证书不匹配错误,正如 @AmritanshSinghal 正确指出的那样。


8
投票

好的,对于那些遵循这些说明并遇到问题的人,我还有另外两条建议。

  1. 在 Google 开发者控制台或 OAuth 设置页面中,将重定向页面的 URL 列入白名单,该 URL 可在您的自定义域中访问:https://auth.custom.domain.com/__/auth/handler

这真的让我很困惑。 Here is where to do that.

完成所有这些操作后,您将收到 CERT 失败信息。按照此 stackoverflow 问题上的说明进行操作,等待几个小时,一切都会神奇地工作!

祝你好运!


0
投票

对我来说,尝试从多个答案和回复中收集步骤有点令人困惑,所以我将快速简单地总结对我有用的方法。

我的堆栈:

  • Cloudflare (DNS)
  • 网站在外部托管,不在 Firebase 托管上
  • firebase 包 v9.14.0

继续步骤:

  1. 选择用于 Google 弹出窗口的域,为了示例起见,我将简单地使用

    auth.example.com
    。该域将为用户显示为“example.com”,而不是 Firebase 项目默认域。此外,此域作业是将请求重定向到 Firebase 身份验证 URL。

  2. 激活 Firebase 托管(即使您不使用它来托管应用程序)

  3. 在 Firebase 托管中添加并验证域:

    • 在 Firebase 托管中,按

      Add custom domain
      ,然后输入您的域名 在步骤
      1
      (
      auth.example.com
      )

      中选择
    • 不要勾选重定向选项并单击继续

    • 现在您需要验证新自定义域的所有权并根据 Firebase 请求的记录更新您的记录。另外,如果您使用的是 Cloudflare,请确保在此步骤中禁用代理,然后单击“验证”(可能需要几分钟)。

  4. 将您的域添加为授权重定向 URI 之一。

    • 在 GCP 中打开
      APIs & Services
      仪表板,链接
    • 在左侧菜单中单击:
      Credentials
      -> 从
      OAuth 2.0 Client IDs
    • 下的列表中选择您的客户
    • Authorized redirect URIs
      部分下添加您的域名,其架构为:
      https://auth.example.com/__/auth/handler
      ,然后单击保存
  5. 将您的域添加到 Firebase 身份验证允许的域中。

    • 输入您的 firebase 项目控制台
    • 找到并进入
      Authentication
      部分,然后单击
      Settings
    • 单击
      Authorized Domains
      并添加您的域名:
      auth.example.com
  6. 一旦自定义域认证在 Firebase 托管页面上获得批准,请更新 CNAME 以指向您的 Firebase 应用程序域,如下所示:

    auth.example.com
    ->
    example1234.firebaseapp.com

  7. 更新您的代码以支持此新更改。设置 firebaseApp 时,在 authDomain 属性中提供新的身份验证域,如下所示:

  import { initializeApp } from "firebase/app";
  const firebaseApp = initializeApp({
    apiKey: "",
    authDomain: "auth.example.com",
    projectId: "",
    storageBucket: "",
    messagingSenderId: "",
    appId:"" ,
    measurementId:"" ,
    });
© www.soinside.com 2019 - 2024. All rights reserved.