2

我在我的网站项目中使用 Twitterizer 库。在我们的网站中,我们使用的是使用 Twitter 登录按钮。我们遇到的问题是,在某些计算机上,它一直将用户引导到 Twitter 并要求他进行身份验证并允许应用程序进行交互。如果用户之前已经对我们的应用程序进行了身份验证,我该如何阻止这种情况?

这是我用于按钮的代码:

string callbackUrl = string.Concat(Request.Url.GetLeftPart(UriPartial.Authority), "/Callback.aspx");

        if (Request.UrlReferrer != null)
        {
            callbackUrl = string.Format("{0}?sendto={1}", callbackUrl, HttpUtility.UrlEncode(Request.UrlReferrer.AbsoluteUri));
        }
        OAuthTokenResponse requestTokenResponse = OAuthUtility.GetRequestToken(
            ConfigurationManager.AppSettings["Twitter.ConsumerKey"],
            ConfigurationManager.AppSettings["Twitter.ConsumerSecret"],
            callbackUrl);

        string authUrl = OAuthUtility.BuildAuthorizationUri(requestTokenResponse.Token,true).AbsoluteUri;
        Response.Redirect(authUrl);

通过将 authUrl 更改为以下内容来解决它:

string authUrl = "https://api.twitter.com/oauth/authenticate?oauth_token=" + requestTokenResponse.Token;
4

1 回答 1

3

我不相信有办法停止要求用户通过 Twitter 进行身份验证。从之前使用SocialAuth.NET、 Twitterizer 和 OAuth 路由的经验来看,我一直都在体验身份验证页面,本次讨论中的其他人也是如此。

更新

这篇文章应该对您有所帮助:https ://stackoverflow.com/a/9910051/1300806 。

我刚刚尝试使用帖子中所述的方法,并且我设法让我的 Twitter 实现(使用 OAuth)正常工作,这样用户就不必不断地给予许可。

你每天学习新的东西!

于 2012-10-03T09:05:44.047 回答