【发布时间】:2019-02-12 14:02:51
【问题描述】:
我正在为我的网络应用程序使用 Firebase 身份验证,并为 Firebase 身份验证的 Google 登录功能自定义重定向域,以便 Google 的身份验证页面将
显示继续:https://auth.mydomain.com,
而不是继续:https://my-app-12345.firebaseapp.com。
于是我按照Firebase's documentation上的说明做了四个步骤:
(1) 为auth.mydomain.com 创建一条指向my-app-12345.firebaseapp.com 的CNAME 记录
(2) 将auth.mydomain.com 添加到 Firebase 控制台的授权域列表中
(3) 在 Google OAuth 设置页面中,将重定向页面的 URL 列入白名单,即https://auth.mydomain.com/__/auth/handler
(4) 编辑初始化 Firebase 库的应用的 JavaScript 代码:
var config = {
...
// from 'authDomain: my-app-12345.firebaseapp.com,'
authDomain: 'auth.mydomain.com',
...
};
然而,之后,当我的应用调用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 日,星期二
此证书有效。
详情
主题名称
国家:美国
州/省:加利福尼亚
地点:山景
组织:谷歌公司
通用名称: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
为什么要为谷歌登录提示NET::ERR_CERT_COMMON_NAME_INVALID警告自定义重定向域,如何避免提示的警告信息,例如使用auth.mydomain.com自己的证书将主题备用名称添加到证书中?
顺便说一下,在上面的警告页面中,如果点击Proceed to auth.mydomain.com (unsafe),验证将按预期进行。
【问题讨论】:
标签: firebase firebase-authentication