我在使用激活的属性交换发送身份验证请求时遇到问题。它适用于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。不幸的是,我不知道如何验证它。
有人遇到同样的问题吗?
答案 0 :(得分:0)
在进一步调查中,这似乎发生了(基于提供者日志): 身份验证请求通过POST发送。提供商使用重定向进行回答。这就是首先发生POST然后是GET的情况。
如果我通过POST请求请求并且如果我要求GET请求,那么我t think this is how the openId specification say to do it. Shouldn
是否有POST响应?
无论如何..有没有办法让RedirectToProvider() - 方法通过GET而不是POST发送请求?