有人可以解释这些开放ID系统的工作原理吗?
当用户重定向到openid提供程序并进行身份验证时,提供程序会将哪些内容发送回原始网站?是网站验证的一些加密文本还是必须与open-id提供商进行实际通信以进行验证?
答案 0 :(得分:9)
如果您对所有血腥细节感兴趣,可以查看规范here。
在较高的层面上,它非常简单(从the 2.0 spec's overview解释):
网站将用户重定向到OpenID提供商以及身份验证请求
OpenID提供程序尝试对用户进行身份验证
OpenID提供程序将用户重定向到该站点,以及有关身份验证是否失败或成功的信息。
然后,网站会验证此信息,检查从响应中返回的某些字段,以及向OpenID提供商发出直接请求(不通过用户浏览器的请求);这一切都是为了防止欺骗等
所以第一步和第二步非常简单,但后两者有一些复杂性。来自步骤3的响应特别包含“nonce”字段,该字段对于请求是唯一的,并且该站点将验证几个字段。此验证在第四步中进行,进行一些检查。值得注意的是,返回URL和签名。
当然还有更多的内容,但如果这是你所追求的那种信息,那么规格就是最好看的地方。