我已经使用 LinqToTwitter 实现了 Twitter。
本地主机上一切正常,因此我将其迁移到我的 DEV 环境。不幸的是,在我的 DEV 环境中,当我单击 Twitter 登录按钮时,没有重定向到https://api.twitter.com/oauth/authorize并且我没有错误。
请问有人对此有解释吗?
谢谢
我已经使用 LinqToTwitter 实现了 Twitter。
本地主机上一切正常,因此我将其迁移到我的 DEV 环境。不幸的是,在我的 DEV 环境中,当我单击 Twitter 登录按钮时,没有重定向到https://api.twitter.com/oauth/authorize并且我没有错误。
请问有人对此有解释吗?
谢谢
如果您还在使用,请检查您的 web.config 添加以下内容:
<customErrors mode="RemoteOnly" defaultRedirect="~/404.html">
<error statusCode="403" redirect="~/404.html" />
<error statusCode="404" redirect="~/404.html" />
</customErrors>
我明白为什么这会发生在我身上。当我对用户进行身份验证时,我使用了以下代码:
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();
之后,现在一切正常。我希望有人能从中得到一些帮助。