Openid中的片段URL - 这是什么意思?

时间:2011-07-23 02:13:46

标签: http url openid yahoo identity

如果我将我的Yahoo-Account用作Openid-Provider,则将此url作为我的身份返回:

https://me.yahoo.com/a/9dodtB5.udVP6zRSRfAxIzPO6XXVdbqlS4jp#85bb1

我认为奇怪的是散列标记#之后的片段。

请求资源时,HTTP标准的这些片段不会传输到服务器。我知道访问它们的唯一方法是使用JavaScript在客户端浏览器中。

那么它如何成为Openid身份的一部分呢?或者不能呢?

因此,如果我允许我的网站接受Openid,我会获得一个存储在数据库中的身份,并且如果用户想要登录/注册,我会查询完全匹配。

我应该存储片段吗?

我认为它没有受到伤害,因为我到目前为止看到的所有Openid-Libraries都存储了AS-IS(带有片段)的身份。

但这不是某种违规或标准吗?我不确定。

1 个答案:

答案 0 :(得分:0)

我不知道Openid 2.0中的标准版增加了以下内容:

  

IDENTIFIER RECYCLING

     

OpenID标识符可以随时间回收,OpenID 2.0指定   OpenID提供程序将URL片段附加到OpenID URL的末尾   作为世代标识符。包含片段的整个OpenID URL,   如果存在,应该用于识别用户。例如,   以下两个OpenID是唯一的,代表不同的用户:   http://openid.example.com/username#aa   http://openid.example.com/username#bb

所以它最终真的有意义,因为身份本身并没有真正改变。这意味着如果我请求openid,片段将被剥离,并且我总是请求相同的资源和背后的相同XRDS文档。