0

我想使用带有“TwitterOAuth”的 asp.net 登录 twitter。我添加了对 TwitterOAuth.Default.aspx 页面的引用,其中包含登录按钮

<a   href='http://twitter.com/oauth/authorize?<%=GetUrlParamters()%>'>Login with Twitter</a>

和 default.aspx.cs 包含

namespace TwitterOAuth.Web.UI
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void OnBtnTwitterLoginClick(object sender, EventArgs e)
        {

        }

        protected string GetUrlParamters()
        {
            ITwitterOAuthManager oAuthManager = new TwitterOAuthManager();
            return oAuthManager.GetUrlParameters();
        }
    }
}

和 web.config 文件有

    <add key="Tw-ApiKey" value="your consumer key here"/>
 <add key="Tw-AppSecret" value="your consumer secret here"/>
 <add key="Tw-RedirectUri" value="Twit.aspx"/>

在 appsetting 节点中。当我运行此应用程序时,我收到错误“远程服务器返回错误:(401)未经授权”。

4

1 回答 1

0

我已经检查了您正在使用的 TwitterOAuth 库的来源,并使用 Fiddler 跟踪了 Web 请求,但我不相信它会产生正确的签名。

首先,该库将向http://twitter.com/oauth/request_token发送一个请求,并根据该 url 生成一个签名。但是,此请求被重定向到https://twitter.com/oauth/request_token并且签名对于新 URL 无效。

我会尝试不同的库,例如这里建议的库。

于 2013-08-19T11:45:44.367 回答