出于好奇,当我通过OpenID或类似的(谷歌、脸书等)登录到像StackOverflow这样的网站时,我也会登录到身份提供者本身(例如谷歌)。
有没有办法让用户可以使用第三方身份登录到我的站点,而无需登录到该身份本身?
我知道Google Sign-In的工作原理与其他人不同,使用Google sign-in。我对所有流行的登录服务(Google,Facebook,Twitter,...)的一般答案感兴趣。无论他们是基于OpenID (2.0),OAuth,还是一个专有的解决方案,例如:“使用OpenID,如果你做某某,这是可行的。对谷歌来说,这是不可能的,因为技术原因。”
发布于 2016-11-03 18:35:24
OAuth是一种通用的“协议”,它允许站点(例如stackoverflow)驻留在身份提供商(例如谷歌)上进行身份验证。这包括一个事务,其中
你告诉stackoverflow,你将使用goole login
任何未通过ID提供商的登录(步骤3)的方案都会将您的凭据暴露给(可能)不受信任的第三方(您会用stackoverflow来获得您的google密码吗?)
步骤3还会在您的机器上安装一个cookie,其中包含您与Google的会话。这取决于Google (或任何ID提供商)是否认为此会话对所有其他用途(Gmail等)有效,但无论如何,它是一个方便的功能
如果您已经与Google建立了会话,则可能不需要您再次登录。
发布于 2016-11-04 16:42:31
您所描述的行为是可能的(并且IDP可以很容易地实现它),但由于多种原因,它是不可取的。
我理解用户不应该登录到IDP的愿望,这是一个副作用,如果您正在编写IDP代码,或者在用户返回到您的站点时提醒用户注销IDP,您可以很容易地实现这一点。
https://stackoverflow.com/questions/40399086
复制相似问题