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

Javascript 有没有办法通过自定义登录提示实现Google登录?,javascript,firebase-authentication,google-signin,google-authentication,google-login,Javascript,Firebase Authentication,Google Signin,Google Authentication,Google Login,我正在关注如何实现谷歌登录:除了RADIUS和Active Directory之外,我想提供一个基于谷歌的登录到我的网站 出于测试目的,我有两台机器(host1和host2):host2有一个SimpleHTTPServerPython模块,该模块加载了一个网页,其中只显示登录按钮,host1连接到host2并单击该按钮以重定向到主页 我通常的登录提示由两个空矩形组成,用户在其中输入用户名和密码(RADIUS和AD登录),而使用Google登录时,他们不会键入矩形,而是单击“登录”按钮并在将打开

我正在关注如何实现谷歌登录:除了RADIUS和Active Directory之外,我想提供一个基于谷歌的登录到我的网站

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

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


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

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

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

任何第三方授权服务都需要自始至终拥有身份验证过程。如果他们允许像你这样的人作为中间人将凭证从用户传递给他们,那么他们的所有安全措施都将彻底失效

您也不应该为了用户的易用性而尝试这样做。如果用户单击“使用谷歌登录”,则会发生以下两种情况之一:;1.他们将自己的谷歌凭证输入谷歌的表单,或2。他们已经登录到谷歌,他们只是允许你的网站访问你网站需要的任何身份信息。现在,在以后的登录中,如果我已经使用谷歌登录(比如我检查了我的Gmail或其他东西),当我单击“使用谷歌登录”时,我会自动登录,不需要额外输入用户/密码!但是,如果您在混合中插入自定义登录表单,现在我需要输入完全相同的凭证a第二次来授权自己使用已授权的内容。这是一个非常令人讨厌的设计


所以基本上,不,你不能也不应该被允许这样做

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

任何第三方授权服务都需要自始至终拥有身份验证过程。如果他们允许像你这样的人作为中间人将凭证从用户传递给他们,那么他们的所有安全措施都将彻底失效

您也不应该为了用户的易用性而尝试这样做。如果用户单击“使用谷歌登录”,则会发生以下两种情况之一:;1.他们将自己的谷歌凭证输入谷歌的表单,或2。他们已经登录到谷歌,他们只是允许你的网站访问你网站需要的任何身份信息。现在,在以后的登录中,如果我已经使用谷歌登录(比如我检查了我的Gmail或其他东西),当我单击“使用谷歌登录”时,我会自动登录,不需要额外输入用户/密码!但是,如果您在混合中插入自定义登录表单,现在我需要输入完全相同的凭证a第二次来授权自己使用已授权的内容。这是一个非常令人讨厌的设计


所以基本上,

我对此表示怀疑。如果可以的话,你可以制作一个看起来像谷歌的登录表单并捕获用户/通行证。你是说,使用谷歌登录按钮,我无法看到用户/通行证?这就是想法,是的。您可能编写的任何代码(包括UI)都不应使用用户名/密码。我将尝试使用Firebase
signInWithRedirect()
方法,并让您知道OAuth的全部要点是用户不向第三方开发人员提供永久凭据。您试图实现的是一个非常糟糕的安全实践,应该予以高度劝阻。Firebase Auth也不允许您这样做。你基本上是在建立一个钓鱼网站,我对此表示怀疑。如果可以的话,你可以制作一个看起来像谷歌的登录表单并捕获用户/通行证。你是说,使用谷歌登录按钮,我无法看到用户/通行证?这就是想法,是的。您可能编写的任何代码(包括UI)都不应使用用户名/密码。我将尝试使用Firebase
signInWithRedirect()
方法,并让您知道OAuth的全部要点是用户不向第三方开发人员提供永久凭据。您试图实现的是一个非常糟糕的安全实践,应该予以高度劝阻。Firebase Auth也不允许您这样做。你基本上是在建立一个网络钓鱼网站。答案非常清晰易懂。如果我希望提供身份验证服务,但不是使用RADIUS et similia(可以存储自定义凭据),而是使用Google凭据,该怎么办?正如您所写,登录过程必须完全由谷歌所有,因此这意味着我无法查看或存储凭证