IE8 зависает при отправке запроса на аутентификацию openid с активированным обменом атрибутами - PullRequest
0 голосов
/ 06 июля 2010

У меня проблема с отправкой запроса на аутентификацию с активированным обменом атрибутами.Он работает с FF и Opera, но IE, похоже, имеет проблемы с ним.

Ошибка возникает в запросе. RedirectToProvider ().URL в адресной строке показывает URL конечных точек.

Вот фрагмент кода, в котором создается и отправляется запрос на аутентификацию

using (OpenIdRelyingParty openid = this.createRelyingParty())
            {
                IAuthenticationRequest request = openid.CreateRequest(openid_identifier, realm);
                ;

                var fetch = new FetchRequest();
                fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
                request.AddExtension(fetch);

                // Send your visitor to their Provider for authentication.
                request.RedirectToProvider();

}

Я предполагаю, что внутриRedirectToProvider () отправляет POST и вскоре после GET.По RFC POST с последующим GET не допускается.К сожалению, я не знаю, как это проверить.

У кого-то возникла такая же проблема?

1 Ответ

0 голосов
/ 06 июля 2010

При дальнейшем расследовании это, кажется, происходит (на основе журналов провайдеров): запрос аутентификации отправляется через POST.Провайдер отвечает перенаправлением.Вот как это происходит, что сначала есть POST, а затем GET.

Я не t think this is how the openId specification say to do it. Shouldn t будет ответ POST, если я запрашиваю с POST и GET, если я запрашиваю с GET?

В любом случае. Есть ли способ заставить метод RedirectToProvider () отправлять запрос через GET вместо POST?

...