通过Google登录,无需登录Google

时间:2016-11-03 10:24:44

标签: openid openid-connect google-openid social-authentication

出于好奇,当我通过OpenID或类似网站(Google,Facebook等)登录StackOverflow等网站时,我也会登录身份提供商(例如Google)。

用户是否可以使用第三方身份登录我的网站,而无需登录该身份?

我知道Google登录使用Google登录的方式与其他登录方式不同。我对所有流行的登录服务(Google,Facebook,Twitter,...)的一般答案感兴趣,无论它们是基于OpenID(2.0),OAuth还是专有解决方案,例如:"使用OpenID,如果你这样做,它就可以工作。对于Google来说,这是不可能的,因为技术原因。"

2 个答案:

答案 0 :(得分:2)

OpenID / OAuth是一种通用"协议"允许站点(例如stackoverflow)驻留在身份提供者(例如Google)上进行身份验证。这包括交易

  1. 您告诉stackoverflow您将使用goole进行登录
  2. stackoverflow将发送给Google,以通过重定向网址进行身份验证。
  3. Google会对您进行身份验证,有效地会将您的服务记录下来(以便了解您就是这样)
  4. Google(以及任何其他身份提供商)应该询问您是否要将您的电子邮件和其他信息发送到stackoverflow
  5. 如果您同意,Google会将此信息发送给消费者(stackoverflow)
  6. 从这一点开始,由auth消费者(例如stackoverflow)接受此信息(您的电子邮件)是有效的。
  7. 任何未通过身份识别服务提供商登录的方案(步骤3)都会将您的凭据公开给(可能)不受信任的第三方(您是否会使用stackoverflow获取您的Google密码?)

    步骤3还会在您的计算机上安装一个Cookie,其中包含您与Google的会话。 Google(或任何ID提供商)可以将此会话视为适用于所有其他用途(Gmail等),但无论如何它都是一个方便的功能

    如果您已经与Google建立了会话,则可能不会要求您再次登录。

答案 1 :(得分:0)

您描述的行为是可能的(并且IDP可以轻松实现它)但由于多种原因而不可取。

  1. 它训练用户进行网络钓鱼。因为点击"登录"用户应该输入id和pw,因此可以轻松显示登录页面,用户将输入他们的信息。
  2. 当然对用户来说不方便。
  3. 从风险和pw破解的角度来看,最好做很多"检查"当用户登录并可能需要额外的检查(如ping手机或提问),然后创建登录会话。
  4. 我理解用户不应该签署IDP作为副作用的愿望,如果您正在编写IDP代码或者警告用户在他们返回时注销IDP,您可以轻松实现这一目标你的网站。