如何更改应用程序名称以进行 Firebase 身份验证(用户看到的内容)
Posted
技术标签:
【中文标题】如何更改应用程序名称以进行 Firebase 身份验证(用户看到的内容)【英文标题】:How to change the app name for firebase authentication (what the user sees) 【发布时间】:2018-02-18 12:46:12 【问题描述】:感谢 firebase v 3.9.0,我的社交 OAuth 在我的 ionic 应用程序中运行良好。我有一点我想做的改变。当提示登录时,它会显示“登录以继续访问 my-real-appname-12345f.firebaseapp.com。”
如何将其更改为更用户友好的名称,例如应用程序的实际名称。
为了澄清,我正在使用 firebase 来处理 Google 和 Facebook 的身份验证。两者的信息相同。
谢谢! 韦恩
【问题讨论】:
你找到解决办法了吗? @Sub6Resources 检查我的回答。 How to replace the myApp-123.firebaseapp.com with my custom domain myApp.com的可能重复 关于这个问题的解决方案都不再起作用了。他们曾经这样做过,但 oauth 同意屏幕不再显示面向公众的名称设置(又名“向用户显示的产品名称”),而是 shows the authDomain url。现在唯一正确的答案是change the default authDomain。 【参考方案1】:This help page 相当全面 - 但您必须做的关键事情之一是更改 firebase.config()
设置中的 authDomain
参数。
但是,如果您在 Web 上使用他们的 "easier configuration" 用于 firebase,您只需加载 /__/firebase/3.7.4/init.js
而不指定配置怎么办?由于它是自动处理的,有没有办法只修改配置的authDomain
部分?
【讨论】:
【参考方案2】:对于使用电子邮件登录的网络应用程序,我只需要进入控制台上的项目设置,在 general
选项卡下更改 Public-facing name
并且电子邮件中的 %APP_NAME% 已更改
【讨论】:
【参考方案3】:我询问了 Firebase 支持并得到了以下答复。 斜体中的项目是我的补充。
--
嗨,杰恩,
感谢您与我们联系。我很乐意为您提供帮助。
为了在 OAuth 同意屏幕中更新 firebase-project-id.firebaseapp.com,您需要一个带有 Firebase 托管的自定义域(Firebase 控制台 > 托管 > 连接域)。这是因为 https://firebase-project-id.firebaseapp.com/__/auth/handler 由 Firebase Hosting 托管。您需要将您的自定义域指向 firebase-project-id.firebaseapp.com。
连接自定义域时,如果您没有在 firebase 上托管应用,请使用新的子域(例如 app.yourdomain.com)并且不要重定向它。 Firebase 将提示您在 DNS 服务器上添加一个条目并自动处理 SSL 证书。
将您的自定义域连接到您的 Firebase 项目后,您还应该按照以下步骤操作:
-
转到 Firebase 控制台 > 选择项目 > 身份验证 > 登录方法 > Facebook > 复制“要完成设置,请将此 OAuth 重定向 URI 添加到您的 Facebook 应用配置”下的 URL。
将项目 ID 替换为您的自定义域。它看起来像:https://yourdomain.com/__/auth/handler
转到 GCP 控制台 > 选择项目 > API 管理器 > 凭据 > 将 #2 中的链接添加到“授权重定向 URI”
然后确保在您的应用配置中使用 yourdomain.com 作为 authDomain 而不是 firebase-project-id.firebaseapp.com
firebase.initializeApp(
apiKey: ....,
authDomain: 'yourdomain.com',
...
);
如果您对此有任何其他问题,请告诉我。
问候,
是的
--
就我而言,yourdomain.com 是我托管网站的地方,因此我在需要的地方使用了 app.yourdomain.com。
Firebase Hosting URL 处理程序网址:https://app.yourdomain.com/__/auth/handler GCP Credentials 在 OAuth 2.0 客户端 ID 下选择正确的一项。客户端 ID 将与您在代码中配置 Firebase 的 ID 相匹配。authDomain: "app.yourdomain.com"
【讨论】:
谢谢杰恩!有一个 K17 朋友为你解决问题总是很高兴:) 第 3 步现在不允许您粘贴到“授权域”子域或路径中,因此它只接受我“yourdomain.com”,即使我将其创建为 app.yourdomain.com firebase 并为其创建了 TXT 和 A 记录。希望它会工作.. @m4tt 您是否尝试使用键盘或鼠标进行粘贴?如果我没记错的话,一个有效,另一个无效。Firebase will prompt you to add a DNS entry and take of the SSL certificate automatically.
是什么意思?注意:我的域托管在不同的提供商上
Firebase will prompt you to add a DNS entry
表示他们会告诉您使用您的 DNS 提供商添加条目。【参考方案4】:
这对我有用:
-
将您在代码中设置的 Firebase 配置更改为
authDomain: "insertyourdomainnamehere.com"
在您的应用程序上按“使用 Google 登录”,然后查看由于此更改而导致的错误。按照错误指示进行操作。
错误将我引导至https://console.cloud.google.com/apis/credentials(Google Cloud Platform > APIs & Services > Credentials)。
-
在该页面上,查看“OAuth 2.0 客户端 ID”部分。
对我来说,只有一条记录“Web 客户端(由 Google 服务自动创建)”。点击上面的编辑按钮。
查找“授权重定向 URI”部分。在该部分中,添加:
https://insertyourdomainnamehere.com/__/auth/handler
。
那么它应该工作!它现在应该显示“登录以继续访问 yourdomain.com。”
【讨论】:
2020 年 8 月为我工作! 不错!这个对我有用。我不需要创建新的 OAuth 2.0 客户端 ID。只需使用 Google 生成的现有一个并在那里更新身份验证处理程序。【参考方案5】:我想我可能已经找到了为什么有些人可以更改显示名称而其他人不能。检查您的托管选项卡。如果您部署了某些东西,它可能会部署到登录页面上列出的相同 url。尝试在该页面上添加您的域名,看看是否可行。
【讨论】:
如果我什么都没有部署怎么办? 您不必部署任何东西。只需添加自定义域即可解决问题。 确实如此。必须通过入门才能进入自定义域选项。添加域时,不要添加您当前的主机,也不要重定向。【参考方案6】:您应该在 Google API 控制台 (https://console.cloud.google.com) 中进行这些修改。去那里,找到您的项目的凭据,单击“OAuth 同意屏幕”,然后有一个文本框显示“向用户显示产品名称”,将当前名称更改为您的应用名称,然后单击“保存”。
【讨论】:
你能告诉我凭据吗?我从未使用过 console.cloud.google.com,也没有找到它。另外,这是否也适用于 FB 登录? @WayneF.Kaskie 好吧,您使用拥有凭据的帐户登录,从那里它只是一些简单的 UI,将鼠标悬停在一些下拉列表上等。它不适用于 Facebook 登录,只是谷歌。 很遗憾,我不知道这些信息在哪里,也找不到。我在 firebase 工作,提供的链接适用于谷歌云。我知道它们在某种程度上是相关的,但我还没有找到它。我还没有上线这个项目,所以我仍然希望有人能尽快回答! 如果您使用 Firebase 管理身份验证,则不起作用。它仍然显示旧的应用名称。 保留此答案仅用于“历史”目的,显然,它不适用于大多数情况。以上是关于如何更改应用程序名称以进行 Firebase 身份验证(用户看到的内容)的主要内容,如果未能解决你的问题,请参考以下文章
此应用无权使用 Firebase 身份验证。请确认在 Firebase 中配置了正确的包名称和 SHA-1
此应用无权使用 Firebase 身份验证。请确认在 Firebase 中配置了正确的包名称和 SHA-1
Firebase 电话身份验证打开浏览器以在 Android 中进行重新验证
如何从命令行 (CLI) 更改 Firebase 用户登录身份?