有没有办法通过自定义登录提示实现Google登录?

时间:2017-12-21 08:49:32

标签: javascript firebase-authentication google-signin google-authentication google-login

我正在关注如何实施Google登录的Google tutorial:除了RADIUS和Active Directory,我想在我的网站上提供基于Google的登录信息。

出于测试目的,我有两台机器(host1和host2):host2有一个SimpleHTTPServer Python模块,其中加载了一个网页,其中只显示了登录按钮,host1连接到host2并单击按钮为了被重定向到主页。

我通常的登录提示是由两个空矩形组成,用户输入用户名和密码(RADIUS和AD登录),而使用Google登录时,他们不会输入矩形,而是点击登录按钮并输入凭据将打开的新窗口。

我想将凭据插入与发送到Google服务器分开:我希望用户能够在我提供的相同登录提示中输入他们的Google用户名和密码RADIUS和AD登录;然后,我会在通常的旁边找到另一个登录按钮,也许是在里面写着“使用Google登录”。

1 个答案:

答案 0 :(得分:3)

不,你不能也不应该被允许这样做。

如果你能够这样做,那就意味着你可以捕获某人的Google凭据并成功登录,这样他们就可以登录谷歌了,而实际上你偷了他们的凭据。这是一个巨大的安全风险,因此,即使您找到了实现这项工作的方法,Google也会积极关闭您的漏洞以提高安全性。

任何第三方授权服务都需要从头到尾拥有身份验证过程。如果他们允许像你这样的人注入自己作为中间人,将用户的凭据传递给他们,那就完全违背了他们所有的安全措施。

您也不应该为了用户的易用性而尝试这样做。如果用户点击“使用Google登录”,则会发生以下两种情况之一; 1.他们将Google凭据输入Google表单,或者2.他们已经登录Google,他们只是允许您的网站访问您网站所需的任何身份信息。现在,在后续登录时,如果我已经使用Google登录(例如我检查了我的Gmail或其他内容),当我点击“使用Google登录”时,我会自动登录,无需额外输入用户名/密码!但是,如果您在混合中注入自定义登录表单,现在我需要输入完全相同的凭据 第二次来授权自己使用我已经授权的内容至。这是令人难以置信的烦人和用户敌意设计。

基本上, 不要