Asp.net web表单中的DotNetOpenAuth和ReturnToUrl
我正在使用带有url重写的asp.net 在页面加载中,我有以下代码:Asp.net web表单中的DotNetOpenAuth和ReturnToUrl,asp.net,dotnetopenauth,Asp.net,Dotnetopenauth,我正在使用带有url重写的asp.net 在页面加载中,我有以下代码: OpenIdLogin1.ReturnToUrl = @"~/Login" 当我登录并返回呼叫页面时,我收到以下错误消息: 登录失败:openid.return\u to参数()与实际URL()不匹配 如何将实际url更改为虚拟url 任何帮助都将不胜感激。在调用GetResponse时,传入一个HttpRequestInfo对象,该对象使用希望DotNetOpenAuth看到的URL作为传入URL进行初始化。在调用Get
OpenIdLogin1.ReturnToUrl = @"~/Login"
当我登录并返回呼叫页面时,我收到以下错误消息:
登录失败:openid.return\u to参数()与实际URL()不匹配
如何将实际url更改为虚拟url
任何帮助都将不胜感激。在调用
GetResponse
时,传入一个HttpRequestInfo
对象,该对象使用希望DotNetOpenAuth看到的URL作为传入URL进行初始化。在调用GetResponse
时,传入一个HttpRequestInfo
对象,该对象使用希望DotNetOpenAuth看到的URL作为传入URL进行初始化。我解决了问题:
var openId = new OpenIdRelyingParty();
HttpContext httpContext = HttpContext.Current;
var headers = new WebHeaderCollection();
foreach (string header in httpContext.Request.Headers)
{
headers.Add(header, httpContext.Request.Headers[header]);
}
string requestUrl = string.Format("http://localhost:12345/Login/{0}",
httpContext.Request.Url.Query);
var requestInfo = new HttpRequestInfo(httpContext.Request.HttpMethod,
new Uri(requestUrl),
httpContext.Request.RawUrl, headers,
httpContext.Request.InputStream);
var response = openId.GetResponse(requestInfo);
我解决了这个问题:
var openId = new OpenIdRelyingParty();
HttpContext httpContext = HttpContext.Current;
var headers = new WebHeaderCollection();
foreach (string header in httpContext.Request.Headers)
{
headers.Add(header, httpContext.Request.Headers[header]);
}
string requestUrl = string.Format("http://localhost:12345/Login/{0}",
httpContext.Request.Url.Query);
var requestInfo = new HttpRequestInfo(httpContext.Request.HttpMethod,
new Uri(requestUrl),
httpContext.Request.RawUrl, headers,
httpContext.Request.InputStream);
var response = openId.GetResponse(requestInfo);
我这样做了,但它仍然返回到同一个url。我这样做了,但它仍然返回到同一个url。所以我看到这正是我在回答中给出的,你应该做的。为什么你评论说它不起作用,然后贴出你自己的答案说它起作用了?所以我知道这正是我在回答中给出的,你应该做的。为什么你评论说它不起作用,然后发布你自己的答案说它起作用了?