views:

46

answers:

1

I´m getting a problem sending the authentication request with activated attribute exchange. It works with FF and Opera but IE seems to have a problem with it.

The error occurs within the request.RedirectToProvider(). The Url within the address bar shows the endpoints url.

Here is a code snippet where the authentication request is created and sent

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();

}

I guess that inside RedirectToProvider() a POST is sent and short after a GET. By RFC a POST followed by a GET is not allowed. Unfortunately I don`t know how to validate it.

Does someone got the same problem?

A: 

On further investigation this seems to happen (based upon the providers logs): The authentication request is sent via POST. The Provider answers with a redirect. This is how it happens that there is at first a POST and then a GET.

I dont think this is how the openId specification say to do it. Shouldnt there be a POST response if i request with a POST and a GET if I request with a GET?

Anyhow.. Is there a way to make the RedirectToProvider()-method sending the request via GET instead of POST?