Подтвердить что ты не робот

Максимальная длина openID

Я планирую добавить поддержку openid для создаваемого веб-приложения. Я не могу найти максимальную длину действительного openid, поэтому я могу сохранить его в своей базе данных. Я видел некоторые неопределенные ссылки на 255, но я предпочел бы быть уверен.

Кроме того, полезно ли использовать openid как имя пользователя (рекомендации)?

4b9b3361

Ответ 1

OpenID - это URI, поэтому вы ограничены максимальной длиной URI. Насколько я знаю, ограничений нет, но некоторые браузеры (например, Internet Explorer) имеют предел.

Дальнейшее чтение:

http://openid.net/pipermail/general/2008-August/005305.html

Ответ 2

В соответствии с спецификацией OpenId 1.1 максимальный предел для URL-адреса идентификатора составляет 255 байт. См. OpenId 1.1 Приложение D: Ограничения. Identity Provider и return_to Urls могут быть до 2047 макс. Байтов.

Обратите внимание, что этот раздел о лимитах был удален из спецификации OpenId 2.0. Так что непонятно, какая максимальная длина сейчас.

Ответ 3

Я бы не использовал OpenID напрямую в качестве имени пользователя. Просто посмотрите URL-адреса OpenID, которые Yahoo предоставляет пользователям, они непонятны. Разрешить пользователям выбирать свое собственное имя пользователя и в идеале допускать, чтобы несколько URL-адресов OpenID связывались с одной учетной записью пользователя (например, переполнение стека).

Ответ 4

В версии 2.0 спецификации нет официальной длины.

Вы можете хэшировать URL-адрес, предоставленный во что-то уникальное (md5 или какой-либо другой повторяемый хеш), и сохранить это в своей БД как более короткую строку.

Что касается использования его как имени пользователя, большой URL-адрес не очень хорош. Вы можете извлечь имя пользователя из ответов (SO получил мое имя пользователя непосредственно из моего OpenID)

Ответ 5

Вы не должны соглашаться с любым URL-адресом OpenID, длина которого превышает 255. Хотя это возможно, многие могут использовать это как вектор атаки, чтобы снимать такие вещи, как SQL Injection. Взгляните на API OWASP AntiSAMY в качестве дополнительной защиты.