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

发布于 2024-11-25 23:24:59 字数 482 浏览 0 评论 0原文

如果我使用我的 Yahoo 帐户作为 Openid-Provider,它会返回此 url 作为我的身份:

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

我认为奇怪的是哈希标签 # 之后的片段。

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

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

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

我应该存储片段吗?

我认为这并没有什么坏处,因为到目前为止我见过的所有 Openid 库都按原样存储身份(带有片段)。

但这不是某种违反或标准的行为吗?我不知道。

If I use my Yahoo-Account as an Openid-Provider it returns this url as my identity:

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

What I think is odd is the fragment after the hash tag #.

Those fragments by HTTP standard don't get transferred to the server when requesting a resource. The only way I am aware of accessing them is within the clients browser using JavaScript.

So how can it be part of an Openid Identity or can it not?

So if I enable my website to accept Openid I get an Identity that I store in a Database and that I query for exact matches if a user wants to log in / register.

Should I store the fragment or not?

I think it doesn't hurt because all Openid-Libraries that I have seen so far store the identity AS-IS (with the fragment).

But isn't it some sort of Violation or the standard? I am not sure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剪不断理还乱 2024-12-02 23:24:59

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

标识符回收

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 文档。

I wasn't aware of an addition to the Standard in Openid 2.0 that says the following:

IDENTIFIER RECYCLING

OpenID identifiers can be recycled over time, and OpenID 2.0 specifies
that OpenID Providers append URL fragments to the end of an OpenID URL
as a generation identifier. The entire OpenID URL with the fragment,
if present, should be used to identify the user. For instance, the
following two OpenIDs are unique and represent different users:
http://openid.example.com/username#aa
http://openid.example.com/username#bb

So it in the end really makes sense, because the identity itself doesn't really change. Meaning if I request the openid, the fragment gets stripped, and I always request the same resource with the same XRDS document behind.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文