使用激活的属性交换发送openid身份验证请求时,IE8卡住了

时间:2010-07-06 08:38:30

标签: c# openid exchange-server attributes dotnetopenauth

我在使用激活的属性交换发送身份验证请求时遇到问题。它适用于FF和Opera,但IE似乎有问题。

request.RedirectToProvider()中发生错误。地址栏中的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 :(得分:0)

在进一步调查中,这似乎发生了(基于提供者日志): 身份验证请求通过POST发送。提供商使用重定向进行回答。这就是首先发生POST然后是GET的情况。

如果我通过POST请求请求并且如果我要求GET请求,那么我t think this is how the openId specification say to do it. Shouldn是否有POST响应?

无论如何..有没有办法让RedirectToProvider() - 方法通过GET而不是POST发送请求?