1

我正在使用 servicestack 设置 facebook 身份验证,并且一直在获取返回类型 #f=Unknown,我已将其追踪到来自身份验证块:

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 Required。

我已经进一步追踪到这条线:

var contents = accessTokenUrl.DownloadUrl();

任何人都可以帮助我如何实施所需的代理身份验证吗?

对于信息,我的应用程序在 Windows 环境中运行,它以 Windows 身份验证用户身份运行,因此有权访问代理服务器,我只需要告诉代码使用此 - 或任何 - 凭据。

感谢期待

4

1 回答 1

0

您可以通过在 Web.Config 中设置来尝试为 .NET 应用程序设置默认代理:<defaultProxy/>

<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>
于 2013-01-08T13:05:42.527 回答