我正在使用servicestack设置facebook身份验证,并且已经获得了返回类型#f =未知,我已将其跟踪到来自身份验证块:
try
{
var contents = accessTokenUrl.DownloadUrl();
var authInfo = HttpUtility.ParseQueryString(contents);
tokens.AccessTokenSecret = authInfo["access_token"];
session.IsAuthenticated = true;
authService.SaveSession(session, SessionExpiry);
OnAuthenticated(authService, session, tokens, authInfo.ToDictionary());
//Haz access!
return authService.Redirect(session.ReferrerUrl.AddHashParam("s", "1"));
}
catch (WebException we)
{
var statusCode = ((HttpWebResponse)we.Response).StatusCode;
if (statusCode == HttpStatusCode.BadRequest)
{
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "AccessTokenFailed"));
}
}
//Shouldn't get here
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "Unknown"));
它的原因是catch检查响应状态代码。在我的场景中,我收到了407 Proxy Authentication。
我已经进一步跟踪了它:
var contents = accessTokenUrl.DownloadUrl();
任何人都可以帮助我实现所需的代理身份验证吗?
有关信息,我的应用程序在Windows环境中运行,它作为Windows身份验证用户运行,因此有权限访问代理服务器,我只需要告诉代码使用此 - 或任何 - 凭据。
感谢您的期待
答案 0 :(得分:0)
您可以通过在Web中设置<defaultProxy/>
来尝试setting the default proxy for .NET applications .Config:
<configuration>
<system.net>
<defaultProxy>
<proxy
usesystemdefaults="true"
proxyaddress="http://192.168.1.10:3128"
bypassonlocal="true"
/>
<bypasslist
<add address="[a-z]+\.contoso\.com" />
</bypasslist>
</defaultProxy>
</system.net>
</configuration>