对这些开放id的工作方式感到困惑

Bla*_*man 6 c# openid

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

当用户重定向到openid提供程序并进行身份验证时,提供程序会将哪些内容发送回原始网站?是网站验证的一些加密文本还是必须与open-id提供商进行实际通信以进行验证?

ShZ*_*ShZ 9

如果您对所有血腥细节感兴趣,可以在这里查看规格.

从较高的层面来说,它非常简单(从2.0规范的概述中解释):

  1. 该站点将用户重定向到OpenID提供程序以及身份验证请求

  2. OpenID提供程序尝试对用户进行身份验证

  3. OpenID提供程序将用户重定向到站点,以及有关身份验证是否失败或成功的信息.

  4. 然后,该站点验证此信息,检查从响应中返回的某些字段,以及向OpenID提供者发出直接请求(不通过用户浏览器的请求); 这一切都是为了防止欺骗等

所以第一步和第二步非常简单,但后两者有一些复杂性.来自步骤3的响应特别包含"nonce"字段,该字段对于请求是唯一的,并且该站点将验证几个字段.此验证在第四步中进行,进行一些检查.值得注意的是,返回URL和签名.

当然还有更多的内容,但如果这是你所追求的那种信息,那么这个规格就是最好看的地方.