sor*_*ort 3 firebase firebase-authentication
我正在为我的Web应用程序使用Firebase身份验证,并为Firebase身份验证的Google登录功能自定义重定向域,以便Google的身份验证页面将
显示继续至:https://auth.mydomain.com,
而不是继续:https://my-app-12345.firebaseapp.com。
因此,我按照Firebase文档上的说明执行了四个步骤:
(1)为此创建一个CNAME记录auth.mydomain.com,指向my-app-12345.firebaseapp.com
(2)auth.mydomain.com在Firebase控制台中添加到授权域列表
(3)在Google OAuth设置页面中,将重定向页面的URL列入白名单。 https://auth.mydomain.com/__/auth/handler
(4)编辑我的应用程序的JavaScript代码以初始化Firebase库:
var config = {
...
// from 'authDomain: my-app-12345.firebaseapp.com,'
authDomain: 'auth.mydomain.com',
...
};
Run Code Online (Sandbox Code Playgroud)
但是,此后,当我的应用调用firebase.auth().signInWithRedirect(provider)方法时,网络浏览器将显示隐私警告,如下所示:
你的连接不是私人的
攻击者可能试图从auth.mydomain.com窃取您的信息(例如,密码,消息或信用卡)。学到更多
NET :: ERR_CERT_COMMON_NAME_INVALID
...
该服务器无法证明它是auth.mydomain.com ; 它的安全证书来自firebaseapp.com。这可能是由于配置错误或攻击者拦截了您的连接引起的。
继续访问auth.mydomain.com(不安全)
证书信息如下:
firebaseapp.com
颁发者:Google Internet Authority G3
过期:2018年11月13日,星期二
该证书有效。
细节
主题名称
国家:美国
州/省:加利福尼亚
产地:山景
机构:Google Inc
通用名称:firebaseapp.com
下面是URI:
https://auth.mydomain.com/__/auth/handler?apiKey=apiKey&appName=%5BDEFAULT%5D&authType=signInViaRedirect&providerId=google.com&scopes=profile&redirectUrl=https%3A%2F%2Fwww.mydomain.com%2Flogin&v=5.0.4
Run Code Online (Sandbox Code Playgroud)
为什么要为Google登录提示NET::ERR_CERT_COMMON_NAME_INVALID警告自定义重定向域,以及如何避免警告消息的提示,例如使用auth.mydomain.com自己的证书在证书中添加使用者替代名称?
顺便说一句,在上面的警告页面中,如果单击“ 继续执行auth.mydomain.com(不安全)”,则身份验证将按预期进行。
mor*_*rya 12
澄清一下,截至 2020 年 1 月 6 日,上述方法(在 Firebase 托管中使用“重定向”)不再有效。
按照https://levelup.gitconnected.com/how-to-connect-a-domain-to-your-firebase-project-cd47373bad79 中写的内容- 我们可以看到身份验证,我们需要使用“自定义域”而不是“重定向”
这是因为如果使用重定向,在自定义域的出口和入口点与 Google 的身份验证服务器之间签署的 SSL 将无法握手。
换句话说:
如果您是第一次设置:
在 Firebase 项目 my-app-12345 的控制台中,单击侧面菜单上的托管。
出现设置托管弹出窗口时,单击继续。然后单击完成。
在托管页面中,单击连接域。
当出现连接域弹出窗口时,输入 auth.mydomain.com。那么你就没有勾选“重定向auth.mydomain.com到现有网站”复选框。然后输入 my-app-12345.firebaseapp.com。然后点击继续。
如果您已经设置了重定向域,但无法使其工作 - 您可以简单地编辑条目,然后更改为“自定义”类型。
等待 10 ~ 30 分钟,一旦发生变化,即可正常使用此功能。
因为auth.mydomain.com指向my-app-12345.firebaseapp.com通过CNAME记录,所以主机firebaseapp.com应为提供SSL证书auth.mydomain.com。即使my-app-12345不使用Firebase托管,也必须在Firebase托管页面中完成此操作。这是基于Firebase 文档的分步方法:
my-app-12345的控制台中,单击侧面菜单上的“托管”。auth.mydomain.com。然后点击“重定向auth.mydomain.com到现有网站”复选框。然后输入my-app-12345.firebaseapp.com。然后单击继续。mydomain.com”弹出窗口时,请按照说明进行操作。然后单击验证。(验证可能需要几分钟)。然后单击完成。现在auth.mydomain.com将以Pending状态显示在“域”部分中。它将很快更改为Connected。一段时间后,NET::ERR_CERT_COMMON_NAME_INVALID警告问题将消失。
PS在Firebase技术支持团队的帮助下,我已经找到了自己的问题的答案。
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |