OpenID Заявленный идентификатор - PullRequest
3 голосов
/ 21 сентября 2011

При аутентификации с использованием OpenID я, как правило, должен использовать заявленный идентификатор в качестве ключа для уникальной идентификации конкретного пользователя.Проблема, с которой я сталкиваюсь, это либо две независимые ошибки, либо неправильное понимание спецификации:).

При использовании node openid Я ожидаю, что эти два URL приведут к одному и тому же утвержденному_идентификатору:

Однако эти URL-адреса приводят к двум разным утвержденным_id:

оба упомянутых URL.Чтобы проверить это, я решил проверить другую библиотеку OpenID, Python OpenID .Используя те же два URL-адреса, я все еще получаю два требуемых_идентификатора, но в этом случае они отличаются, теперь я получаю:

  • http://{username}.myopenid.com/
  • http://{username}.myopenid.com/xrds

Итак,Я предполагаю, что мои вопросы: правильно ли я предполагаю, что требуемые_идентификаторы должны использоваться в качестве идентификаторов и что приведенные выше URL должны приводить к тому же заявленному_идентификатору?

1 Ответ

1 голос
/ 21 сентября 2011

Нет причин, по которым они должны приводить к одному и тому же заявленному идентификатору, и фактически вы ничего не предлагаете в поддержку этого ожидания.

Однако следует отметить, что первая библиотека использует неверное значение для заявленного идентификатора (выделено мной):

7,2. Нормализация

Ввод конечного пользователя ДОЛЖЕН быть нормализован в Идентификатор следующим образом:

(...)

4. Идентификаторы URL ДОЛЖНЫ быть далее нормализованы (...) после перенаправлений при получении их содержимого (...).

И для второго URL у вас есть этот ответ (некоторые заголовки удалены):

> GET /xrds?username=cataphract.myopenid.com HTTP/1.1
> Host: www.myopenid.com
> Accept: application/xrds+xml
>
< HTTP/1.1 301 Moved Permanently
< Location: http://cataphract.myopenid.com/xrds

Поэтому следует использовать http://{username}.myopenid.com/xrds.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...