URL(不是域)是否适合 OpenID 2.0 身份?

Are URLs (not domains) suitable for OpenID 2.0 identities?

我之前在 indieweb use-cases 的上下文中使用过 OpenID 2.0 身份和委派 [1],其中假设每个用户控制一个域。所以身份看起来像 https://example.com

OpenID 2.0 身份能否采用 URL 的形式,而不仅仅是域?例如,https://example.com/alicehttps://example.com/bob 都是:

  1. 有效、独立的身份
  2. 每个人都可以委托给一个单独的身份提供者

[1] OpenID Connect,不支持委托

用户提供的标识符must be normalized。如果输入被视为 HTTP(S) URL:

  1. 如果未指定方案,则使用http
  2. 剥离片段(包括#
  3. 跟随重定向
  4. 标准化目标 URL according to RFC 3986

Appendix A.1. 给出了一些规范化示例:输入 example.comhttp://example.com 将变为 http://example.com/.

所以标识符不能只是一个域,它 必须 是 URL。 URL和https://example.com/https://example.com/foo之间没有相关区别。这意味着在同一个 host/domain.

下提供多个身份是完全没问题的