Подходят ли URL-адреса (не домены) для идентификаторов OpenID 2.0?

Ранее я использовал идентификаторы и делегирование OpenID 2.0 [1] в контексте сценариев использования indieweb, где предполагается, что каждый пользователь контролирует домен. Таким образом, идентичность будет выглядеть https://example.com

Может ли идентификатор OpenID 2.0 принимать форму URL, а не просто домена? Например, оба https://example.com/alice а также https://example.com/bob было бы:

  1. действительные, независимые личности
  2. каждый может делегировать отдельному поставщику удостоверений

[1] Не OpenID Connect, который не поддерживает делегирование

1 ответ

Решение

Пользовательские идентификаторы должны быть нормализованы. Если вход обрабатывается как HTTP(S) URL:

  1. использование http если схема не указана
  2. Снимите фрагмент (включая #)
  3. Следуйте перенаправления
  4. Нормализуйте целевой URL в соответствии с RFC 3986

Приложение А.1. дает несколько примеров нормализации: входы example.com а также http://example.com станет http://example.com/,

Таким образом, идентификатор не может быть просто доменом, это должен быть URL. И нет никакой разницы между URL https://example.com/ а также https://example.com/foo, Это означает, что совершенно нормально предоставлять несколько идентификаторов под одним хостом / доменом.

Другие вопросы по тегам