Ответ AOL OpenID слишком длинный

Я написал приложение, использующее библиотеку DotNetOpenAuth, которая позволяет пользователям проходить аутентификацию по нескольким поставщикам OpenID. Все они работают нормально, за исключением AOL, который по тем или иным причинам создает возвращаемый URL длиной более 2200 символов, длина которого превышает максимальную длину URL (2048) для большинства браузеров.

Кто-нибудь испытывал это? Есть ли способ ограничить количество параметров (в частности, специфичных для dnoa параметров), передаваемых поставщику?

Настоящая проблема - это параметр "openid.return_to", который является дубликатом всего URL, но это проблема спецификации OpenID и, следовательно, не может быть легко исправлена.

Спасибо за помощь, Гарретт

2 ответа

Развернутый в настоящее время поставщик OpenID AOL не поддерживает метод перенаправления HTTP POST. Новая версия поставщика OpenID AOL, который также поддерживает OpenID 2.0, будет развернута в ближайшие пару недель. Однако в то же время должно быть возможно использовать SREG и запрашивать только те атрибуты, которые вам нужны. Я успешно протестировал путь SREG с помощью http://test-id.org/ и тест SREG.

Вы можете передать свое собственное значение return_to в DotNetOpenAuth. И если вы не передадите аргументы обратного вызова, которые должны быть подписаны, вы не должны видеть слишком много префиксных параметров dnoa. Если вы видите больше, чем считаете разумным, приложите журналы к вашему вопросу, и мы сможем это оценить.

Короче говоря, AOL, вероятно, должен использовать HTTP POST вместо 301 Redirect в этом сценарии.

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