有人可以解释这些开放ID系统如何工作吗?

当用户重定向到openid提供程序并进行身份验证时,提供程序将发送回原始网站的内容是什么?网站是否验证了某些加密文本,还是必须与开放ID提供商进行实际通信以进行验证?

最佳答案

如果您对所有详细信息感兴趣,可以查看规范here

从总体上讲,这很简单(从the 2.0 spec's overview释义):

  • 该网站将用户与身份验证请求
  • 一起重定向到OpenID提供程序
  • OpenID提供程序尝试验证用户
  • OpenID提供程序将用户重定向到站点,以及有关身份验证是否成功的信息。
  • 然后,
  • 站点会验证此信息,检查它从响应中返回的某些字段,并向OpenID提供程序提出直接请求(一个不通过用户浏览器的请求);所有这一切都是为了防止欺骗等

  • 因此,步骤一和步骤二非常简单,但是后两个步骤有些复杂。来自第3步的响应特别包含“nonce”字段(该字段对于请求而言是唯一的)以及站点将验证的多个字段。该验证发生在第四步,在此进行了一些检查。值得注意的是,返回URL和签名。

    当然,幕后还有很多事情要做,但是如果您要了解的是这种信息,那么该规范是最佳的选择。

    10-06 01:59