我使用LinqToTwitter实现Twitter。
在Localhost上一切正常,所以我将其迁移到DEV环境。 不幸的是,在我的DEV环境中,当我点击Twitter登录按钮时,没有重定向到https://api.twitter.com/oauth/authorize,我没有错误。
有人对此有解释吗?
谢谢
答案 0 :(得分:1)
如果您还在使用,请检查您的web.config添加:
<customErrors mode="RemoteOnly" defaultRedirect="~/404.html">
<error statusCode="403" redirect="~/404.html" />
<error statusCode="404" redirect="~/404.html" />
</customErrors>
答案 1 :(得分:0)
我弄清楚为什么会发生这种情况。当我对用户进行身份验证时,我使用了以下代码:
IOAuthCredentials credentials = new SessionStateCredentials();
if (credentials.ConsumerKey == null || credentials.ConsumerSecret == null)
{
credentials.ConsumerKey = ConsumerKey;
credentials.ConsumerSecret = ConsumerSecret;
}
auth = new WebAuthorizer
{
Credentials = credentials,
PerformRedirect = authUrl => HttpContext.Current.Response.Redirect(authUrl)
};
问题是SessionStateCredentials()
。它第一次工作,但是如果你重新提交它(例如在开发和调试期间)而没有先清除会话(因为它在SessionState中运行),它将不会重定向。我的修复是改变这一行:
IOAuthCredentials credentials = new SessionStateCredentials();
到此:
IOAuthCredentials credentials = new InMemoryCredentials();
之后,现在一切正常。我希望有人能从中得到一些帮助。